c/c++语言开发共享如何检测未使用的宏定义和typedef?

使用链接器反馈很容易获得列表未使用的函数和变量,但是如何检测那些未使用的宏定义和typedef? 我是否必须逐行浏览代码并在整个项目中使用git grep?

    对于源文件中定义的宏,您可以尝试-Wunused-macros gcc / clang flag。 gcc中还有-Wunused-local-typedefs

    用于C和C ++程序的静态分析工具可能包括检查未使用的预处理器宏。

    例如,参见PC-Lint 。

    另一种可能性是进入特定的包含文件并使用#ifdef 0删除大部分宏,然后使用一种分而治之的算法来检查编译器错误。

    但是,随着源代码大小变大,我希望静态分析工具会更好。

    对于未使用的宏,您可能需要查看coan 。 它有可能有助于完成此任务的选项。 从约页面 :

    在给定配置下,活动预处理器指令中会出现哪些符号?

    (如果预处理器指令不在任何false #if的范围内,则它是活动的)。 再次假设您对应用程序中的C源感兴趣,您可以使用以下命令显示这些符号的列表,包括文件名和行号:

    $> coan symbols –recurse –locate –active –once –filter c,h app

    它可以选择删除有条件的代码块( #if 0和朋友),以及处理C预处理器的许多其他有用function。 我会用它来收集所有#define d符号和所有#ifdefdefined符号和朋友。 我会对这两个符号集进行排序和统一,并将它们区分开来。 这是查找拼写错误的一种很好的方法。 然后我会分别对它们进行直方图,并以最不频繁的方式开始,然后沿着列表工作。

    对于未使用的typedef,这是另一个挑战。 你可以使用像OpenGrok或GNU Global这样的交叉引用类型程序,但这不是很自动。

    有cscout(现在开源):

    找到未使用的’extern’,#define。

      以上就是c/c++开发分享如何检测未使用的宏定义和typedef?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/545058.html

      (0)
      上一篇 2021年1月10日
      下一篇 2021年1月10日

      精彩推荐