如何默认包含某些头文件,这样我就不必在每个程序中键入它们

how to include certain header files by default so that i don't have to type them in every programs

本文关键字:不必 程序 默认 何默认 包含某 文件      更新时间:2023-10-16

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

创建一个全局头文件,该文件依次包含每个项目中所需的任何文件,然后只需包含该单个文件。

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

可以在项目文件中发出编译器指令,或使脚本包含"每个项目",但通常我会避免这样做。

对于任何读者来说,源代码的内容都应该尽可能清晰。每当我的源代码极大地改变了它的语义,例如通过我不知道的头,这可能会非常令人困惑。

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

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

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

-包含文件

处理文件,就好像#include"file"显示为主源文件的第一行一样。但是,搜索到的第一个目录文件是预处理器的工作目录,而不是目录包含主源文件。如果在那里找不到,则进行搜索在#include"…"搜索链的其余部分中,for正常。

如果提供了多个-include选项,则文件将按照它们在命令行上显示的顺序被包括在内。

-imacros文件

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

在处理-include指定的所有文件之前,先处理-imacros指定的全部文件。

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

Dev c++与MingW编译器配合使用,后者是适用于Windows的gcc编译器。Gcc支持预编译头,所以您可以尝试一下。预编译头文件是要编译并添加到项目中每个对象文件中的头文件。试着在谷歌上搜索一些信息。

代码::块也支持它们,当与gcc一起使用时,甚至更好,所以在那里它可能更容易。

如果您选择的编辑器支持宏,请制作一个添加您喜欢的包含文件集的编辑器。一旦完成,你所要做的就是调用宏来节省重复的键入,你就成功了。

希望这能有所帮助。