- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最新2.定义应用程序专用日志记录.ppt
ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt ijfhf vvvvt 2.定义应用程序专用日志记录 Berkeley DB 包含用于帮助应用程序专用日志和恢复的开发的工具。 这些工具将会自动地创建: 日志写函数 把它们的参数编成一个单个日志记录的函数 日志读函数 读一个日志记录且分解它成一个包含那个日志记录映射参数的结构的函数 日志打印函数 打印调试日志记录的内容的函数 恢复模板函数 在事务中止或恢复期间回顾日志记录的函数 有一个做应用程序专用恢复的样本应用程序examples_c/ex_apprec. * hhjkl 按照惯例,日志记录在命名为XXX.src的文件中描述,其中“XXX”是一个为一个子系统或其它日志函数逻辑组的特别的描述性名字。这些文件包含被子系统使用的每种类型的日志记录的接口定义语言描述。 在XXX.src 文件中,忽略所有的空行和所有以#开头的行。 文件中第一个没有注释的行应该以关键字PREFIX开头,接着是准备产生的函数的名字的字符串。通常地,PREFIX要么和XXX.src 文件名字一样,要么相似。 例如,Berkeley DB 应用程序专用恢复例子使用文件ex_apprec.src,它的开头是: PREFIX ex_apprec 在PREFIX 行后是包含系统产生函数需要的文件。这些包含文件必须安顺序列举,以关键字INCLUDE为前缀。例如Berkeley DB 应用程序专用恢复例子列举了以下的包含文件: INCLUDE #include ctype.h INCLUDE #include errno.h INCLUDE #include stdlib.h INCLUDE #include string.h INCLUDE INCLUDE #include db.h INCLUDE INCLUDE #include ex_apprec.h * hhjkl XXX.src文件中余下的代码由日志记录描述所组成,每一条日志记录描述以下面这行开始: BEGIN RECORD_NAME RECORD_NUMBER 以下面这行结束: END RECORD_NAME变量被这条日志记录的一个记录名代替。RECORD_NUMBER变量被一个记录数代替。 在关键字BEGIN和END 之间必须有一行给每个作为这条日志记录一部分的数据项。这些行的格式如下: ARG | DBT | POINTER variable_name variable_type printf_format 关键字ARG表示这个参数是指定类型的一个简单参数。例如,一个文件ID可被记录为: ARG fileID int d 关键字DBT表示这个参数是一个Berkeley DB DBT 结构,包含一个长度和一个字节字符串的指针。 关键字POINTER表示这个参数是一个指定数据类型的指针。 * hhjkl variable_name是与用于该项有关的数据结构的域名。variable_type是这个变量的C语言类型,printf_format是C语言格式串,没有应该用于显示域的内容的%(例如,s for string, d for signed integral type, u for unsigned integral type, ld for signed long integral type, lu for long unsigned integral type等等)。 例如,ex_apprec.src 定义了一个单个日志记录类型,它用于记录一个存储在DBT的目录名: BEGIN mkdir 10000 DBT dirname DBT s END 在Berkeley DB distribution中有更多的XXX.src文件的例子。例如,文件btree/btree.src 包含由Berkeley DB B树访问方法支持的日志记录的定义。 * hhjkl 3.自动产生功能 XXX.src文件是使用包含在Berkeley DB distribution目录下的gen_rec.awk 脚本处理的。这个一个awk脚本,它是用下面的命令行执行的: awk -f gen_rec.awk \ -v source_file=C_FILE \ -v header_file=H_FILE \ -v template_file=TMP_FILE XXX.src C_FILE是存放自动产生的C代码的文件的名字,H_F
您可能关注的文档
- 最新...计算机的维修6.1计算机维修的基本知识与实例6.1.1计算机....ppt
- 最新...认识化学实验的特殊性,从而提高遵守实验 室规则的自觉....ppt
- 最新...让中心为我们赢得财富! 中心=财富城市,我们生活的大社....ppt
- 最新...课文中的母亲撒了几次谎?分别撒了什么谎,用直线划下来....ppt
- 最新...这类题目具有条件隐蔽,关系复杂,思维强度大,综合性强....ppt
- 最新...连续保持29年的增长,一跃成为世界第四大经济实体。 这一....ppt
- 最新...鉴定留在砂布上的粘稠物质和洗出的白浆用的试剂分别是 ....ppt
- 最新...附属瑞金医院深入学习实践科学发展观活动学习调研阶段学....ppt
- 最新...革与发展规划纲要》研制过程与主要内容西北师范大学 王嘉毅.ppt
- 最新...(-barroco)。作为形容词,此字有「俗丽凌乱」之意。欧洲....ppt
文档评论(0)