我最近发现了C++中的预编译头,特别是gcc编译器。
我确实在网上找到了有关.h.gch文件的信息,但尚未能够使用它们。

我需要知道:

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

  • 还是有其他使用方式?
    请帮忙

    最佳答案

    至少从理论上讲,使用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.gchmyfile.h放在同一目录中。然后,至少在编译器选项相同的情况下,它将自动代替myfile.h使用。

    如果您不想(或可以)将*.gch放在*.h的同一目录中,则可以将它们移动到目录中,例如./gch,然后将-Igch选项添加到编译器命令中。

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

    使用gcc -H <compiler-options> myfile.c。那将列出包含的文件。如果您的myfile.h.gch没有出现或具有x,则说明有问题。如果显示带有!,那就恭喜!您正在使用它。

    08-06 14:44