从头文件创建目标文件?

时间:2012-09-30 18:23:29

标签: c++ g++

是否可以从头文件创建目标文件(.o)? (.h / .hpp)。所有代码都在标题中内联...

2 个答案:

答案 0 :(得分:6)

是的,只需告诉编译器将其编译为C ++文件,并将结果写入.o.obj文件。但是如果所有函数都是内联函数,则代码无需执行任何操作,因此生成的对象文件中不会包含任何代码。所以这样做通常没有意义。

答案 1 :(得分:1)

不,但是最近的GCC(例如Linux上的GCC 4.7)能够使用precompiled-header工具编译一个头文件。警告,只有在您的应用程序的每个源文件都包含一个头文件(通常包括系统或第三方库头)时,这才能正常工作。

另请参阅this reply,其中解释了更多原因。

您可能会对链接时间优化感兴趣,例如:通过在编译和链接时将-flto传递给g++