C/C++安全检查工具预处理器的设计与实现

C/C++安全检查工具预处理器的设计与实现

论文摘要

本文在分析C/C++程序安全检查工具框架的基础上,根据安全检查工具的特殊需求,给出了一种基于分析器自动生成工具ANTLR构造C/C++安全检查工具预处理器的方法,并将此方法应用于实际开发过程中。使用此方法构造的预处理器通过分析C/C++源代码为后端安全检查提供完成预处理后的中间文件及安全检查所需的特殊信息,并且完成预处理阶段的安全漏洞检查。本文使用ANTLR生成词法分析器、语法分析器框架,重点讨论了C/C++预处理标准及其安全、预处理器的设计与实现以及预处理安全检查模块的设计与实现。实践表明,该预处理器能够满足安全检查工具的需要。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 C/C++程序安全检查工具概述
  • 1.3 本文工作及内容组织
  • 第二章 C/C++预处理
  • 2.1 C/C++预处理器及预处理指令
  • 2.2 C/C++程序安全检查工具预处理器
  • 2.3 预处理中的安全漏洞
  • 第三章 ANTLR与C/C++程序安全检查工具预处理器
  • 3.1 分析器自动生成工具ANTLR
  • 3.1.1 语法分析器
  • 3.1.2 分析器自动生成工具ANTLR的特点
  • 3.2 使用ANTLR设计预处理器
  • 3.2.1 C/C++程序安全检查工具预处理器
  • 3.2.2 ANTLR在构造预处理器中的作用
  • 第四章 C/C++安全检查工具预处理器的设计与实现
  • 4.1 预处理器的整体结构
  • 4.2 主要数据结构的设计与实现
  • 4.2.1 宏定义存储的数据结构
  • 4.2.2 宏替换的数据结构
  • 4.2.3 词法及语法分析器数据结构
  • 4.3 预处理指令的分析与实现
  • 4.3.1 预处理指令种类
  • 4.3.2 宏定义相关预处理指令
  • 4.3.2.1 #define指令
  • 4.3.2.2 #undef指令
  • 4.3.3 条件编译相关预处理指令
  • 4.3.3.1 #if、#elif、#else、#endif指令
  • 4.3.3.2 #ifdef、#ifndef指令
  • 4.3.4 文件包含预处理指令
  • 4.3.4.1 #include指令
  • 4.3.5 其他预处理指令
  • 4.3.5.1 #line指令
  • 4.3.5.2 #error指令
  • 4.4 安全检查模块的设计
  • 4.4.1 预处理的安全分析
  • 4.4.2 预处理器的安全策略
  • 4.4.3 预处理器安全模块的设计
  • 第五章 C/C++程序安全检查工具预处理器构造的关键技术
  • 5.1 预处理操作符
  • 5.1.1 字符串化操作符(#)
  • 5.1.2 语言符号粘贴操作符(##)
  • 5.2 宏展开的特殊情况
  • 5.2.1 宏的多重展开
  • 5.2.2 递归宏调用的处理
  • 5.2.3 可变参数宏的处理
  • 5.3 文件和行信息的保留
  • 5.3.1 C/C++检查工具的要求
  • 5.3.2 各种情况下文件和行信息的处理
  • 5.4 各种情况下空白的处理
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 在校期间研究成果
  • 附录A 简单计算器完整实现
  • 相关论文文献

    • [1].表面生长碳纳米管对C/C复合材料钎焊接头的影响[J]. 机械工程学报 2020(08)
    • [2].C/C复合材料抗氧化涂层材料体系的研究进展[J]. 合成材料老化与应用 2017(01)
    • [3].多孔C/C材料发汗冷却实验研究[J]. 固体火箭技术 2015(01)
    • [4].C/C复合材料陶瓷功能涂层研究进展[J]. 航天制造技术 2020(05)
    • [5].固体火箭发动机C/C复合材料烧蚀试验技术研究[J]. 高科技纤维与应用 2020(04)
    • [6].基于C/C++的多核处理器设计[J]. 计算机时代 2015(09)
    • [7].C/C++循环嵌套教学实践[J]. 电脑知识与技术 2012(25)
    • [8].C/C++语言中的内存泄漏分析[J]. 民营科技 2012(09)
    • [9].C/C++语言中“&”运算符的用法[J]. 辽宁师专学报(自然科学版) 2011(03)
    • [10].2.5D-C/C复合材料的高温层间剪切强度[J]. 机械强度 2010(04)
    • [11].探讨C/C++语言中的数据类型[J]. 保山师专学报 2008(05)
    • [12].C/C++中常见内存泄漏与对策及预防措施浅析[J]. 科技资讯 2008(35)
    • [13].C/C复合材料钻削轴向力研究[J]. 航空制造技术 2015(15)
    • [14].C/C复合材料在高超声速飞行器中的应用[J]. 飞航导弹 2013(05)
    • [15].汇编语言与C/C++语言的混合编程[J]. 苏州市职业大学学报 2012(01)
    • [16].苯并噁嗪及其在制备C/C复合材料领域的研究进展[J]. 材料导报 2012(05)
    • [17].C/C++语言定时任务的实现方法和应用[J]. 有色金属加工 2010(03)
    • [18].不同预制体结构C/C复合材料轴向热力学性能分析[J]. 无机材料学报 2010(09)
    • [19].台湾地区高职教材《C/C++程序设计》编写特色及启示[J]. 计算机教育 2009(20)
    • [20].C/C复合材料的无损检测研究[J]. 材料导报 2008(S3)
    • [21].使用Visual Leak Detector检测c/c++程序内存泄漏[J]. 电脑与电信 2008(07)
    • [22].三维轴编C/C复合材料双向拉伸实验研究[J]. 固体火箭技术 2015(02)
    • [23].三向正交C/C复合材料弹性性能预测与分析[J]. 机械科学与技术 2013(12)
    • [24].高温热处理对C/C多孔体显微结构的影响[J]. 广东化工 2012(08)
    • [25].一种新的基于Adams与C/C++语言的模块化协同仿真模式[J]. 航天控制 2011(01)
    • [26].C/C复合材料致密化工艺的研究进展[J]. 材料导报 2008(05)
    • [27].快速制备不同预制体C/C复合材料摩擦学性能研究[J]. 固体火箭技术 2008(04)
    • [28].碳纳米管增强一维高导热C/C复合材料的微观结构与物理性能[J]. 武汉科技大学学报 2017(03)
    • [29].固体火箭发动机实验条件下基于拉瓦尔喷管变流道参数的4D编织C/C复合材料烧蚀性能(英文)[J]. 新型炭材料 2017(04)
    • [30].最终热处理温度对针刺无纬布C/C复合材料性能的影响[J]. 材料导报 2016(S1)

    标签:;  ;  

    C/C++安全检查工具预处理器的设计与实现
    下载Doc文档

    猜你喜欢