如何使用.h.gch文件

zhi*_*rzh 5 c c++ gcc header-files precompiled-headers

我最近发现了有关预编译头文件C++,特别是gcc编译器.我确实.h.gch在网上找到了一些关于文件的东西,但还没有能够使用它们.

我需要知道:

  1. 如何创建.h.gch文件?我的代码没有创建一个?
  2. 一旦创建,如何使用它?你是否像任何其他用户定义的文件一样包含它?例如:#include "SomeCode.h.gch"

或者还有其他一些使用它的方法吗?请帮忙

rod*_*igo 9

使用 GCH(Gnu 预编译头文件)很简单,至少在理论上是这样。

如何创建 GCH

只需使用gcc <compiler-options> myfile.h. 那将创建myfile.h.gch. 您可以使用 来-o <name>指定输出文件的名称。

如果你的头文件是 C++,你必须将其命名为myfile.hppmyfile.hh,否则 GCC 会尝试将其编译为 C,并且可能会失败。或者,您可以使用-x c++-header编译器选项。

如何使用 GCH

把你的myfile.h.gch放在同一个目录下myfile.hmyfile.h那么至少只要编译器选项相同,就会自动使用它来代替。

如果您不想(或不能)将您的文件放在*.gch与您的相同的目录中*.h,您可以将它们移动到一个目录,例如./gch,并将该选项添加-Igch到您的编译器命令中。

如何知道您的 GCH 正在被使用

使用gcc -H <compiler-options> myfile.c。这将列出包含的文件。如果你的myfile.h.gch没有出现,或者有一个x,那么就有问题了。如果它出现带有!,那么恭喜!你正在使用它。