当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在每个编译单元中包含一个头而不修改每个源文件?

如何解决《有没有办法在每个编译单元中包含一个头而不修改每个源文件?》经验,为你挑选了2个好方法。

鉴于以下内容:

包含数千个C++源文件的大型项目

没有公共头文件(没有包含在每个源文件中的头文件)

所述项目使用g ++编译并由make管理

有没有办法在每个编译单元中包含一个定义(例如宏)而不修改每个源文件以包含新的头文件?



1> Zitrax..:

来自man gcc:

包含文件

处理文件好像"#include"文件""出现在主源文件的第一行.但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录.如果在那里找不到,则在"#include"......""搜索链的其余部分中搜索正常.如果给出了多个-include选项,则文件将按照它们在命令行中显示的顺序包含在内.



2> SoapBox..:

您可以使用"-D"gcc命令行选项执行此操作.

例: gcc -ansi -Wall -Dblah='mymacrohere()' blah.cpp

另请参阅:GCC手册,命令行选项,预处理器选项

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有