1

如何默认包含某些头文件,这样我就不必在每个程序中都输入它们:在 dev c++ 和 code::blocks

4

5 回答 5

2

制作一个全局头文件,该文件又包含您在每个项目中需要的任何文件,然后您只需包含该单个文件。

但是,我建议不要这样做,除非您所有不同的项目都非常相似。不同的项目有不同的需求,也需要不同的头文件。

于 2012-08-20T06:27:24.683 回答
1

可以在项目文件中发出编译器指令或制作脚本来执行“每个项目”包含,但总的来说我会避免这种情况。

源代码对于任何读者来说都应该尽可能的清晰,只要它的内容。每当我有显着改变其语义的源代码时,例如。通过我不知道的标题,这可能会很混乱。

最重要的是,如果您为某些不需要它们的编译单元“注入”这些头文件,则会对编译时间产生负面影响。

作为替代,如何引入common.h/hpp包含这些特定头文件的头文件?然后,您可以在所有需要它们的文件中包含您的公共标题,一次更改所有依赖文件的公共标题集。它还为使用预编译的头文件打开了大门,这可能值得你看看。

于 2012-08-20T06:27:36.423 回答
1

来自 GCC 文档(AFAIK GCC 是您引用的开发环境使用的默认编译器)

-包含文件

处理文件,好像#include "file" 出现在主要源文件的第一行。但是,搜索文件的第一个目录是预处理器的工作目录,而不是包含主源文件的目录。如果在此处未找到,则会在 #include "..." 搜索链的其余部分中正常进行搜索。

如果给出了多个 -include 选项,则文件将按照它们在命令行中出现的顺序被包含在内。

-macros 文件

与 -include 完全一样,只是扫描文件产生的任何输出都会被丢弃。它定义的宏保持定义。这允许您从标头获取所有宏,而无需处理其声明。

-imacros 指定的所有文件都在 -include 指定的所有文件之前处理。

但使用这些通常是个坏主意。

于 2012-08-20T07:37:45.033 回答
0

Dev c++ 与 MingW 编译器一起工作,这是 Windows 的 gcc 编译器。Gcc 支持预编译头文件,所以你可以试试。预编译头文件是您希望编译并添加到项目中每个目标文件的头文件。尝试在 Google 中搜索以获取一些信息。

Code::blocks 也支持它们,当与 gcc 一起使用时,甚至更好,所以它可能更容易。

于 2012-08-20T06:28:37.363 回答
0

如果您选择的编辑器支持宏,请创建一个添加您喜欢的包含文件集的编辑器。一旦完成,你所要做的就是调用你的宏来省去重复输入,你就可以了。

希望这可以帮助。

于 2012-08-20T12:27:21.287 回答