G-WAN是否支持预编译头?
例如,如果我在test.h
文件夹中有非常大的/csp
文件,然后我使用以下方法编译它:
$ g++ test.h
$ ls test.h*
test.h test.h.gch
当此文件包含在C ++ servlet中时,G-WAN是否会使用test.h.gch
文件?
答案 0 :(得分:1)
当C ++ servlet使用此标头时,G-WAN是否会使用此
test.h.gch
预编译文件?
首先,如果g++
在其源代码目录中查找预编译的头文件(它们可能被视为临时目录中由g++
创建的临时文件),则手动执行此操作将会有效。
其次,我不确定G-WAN是否使用预编译文件,因为答案取决于g++
临时文件的持久性以及连续编译查找这些文件的能力 - 这是我们从来没有过的事情跟踪(我们不会将C ++用于我们的开发)。
您可以通过编译两次相同的servlet并测量时间来轻松检查。如果第二次编译(在修改servlet之后)比第一次编译快,则使用预编译的头文件。
Procompiled header加速了C ++项目的编译(C ++编译比普通C慢得多,因为(a)它非常复杂,而且(b)重载允许语言语法隐藏完全不同的语义...复杂程度由C ++程序员决定。