【发布时间】:2011-12-18 13:32:13
【问题描述】:
特别是 GCC 4.6.1。
我知道 CPP 文件用于将接口与实现分开;现在不感兴趣。
看看this,我看不出有什么理由不只使用标题和所有内联函数。
性能是一个问题,但我认为这种方法不会让事情变慢。我不想要的是让通常是内联的关键部分变得更慢,因为 everything 是内联的。如果这有意义的话。
【问题讨论】:
-
将所有源文件连接成一个巨大的源文件用于发布版本是一种常见的技巧...... GCC 有
-fwhole-program可以在这种情况下实现更彻底的优化。新的-flto在没有人工干预的情况下基本上做同样的事情。不要太担心它,编写程序以便下一个人能够理解并继续它们。 -
好吧,从技术上讲,编译器并不关心头文件和实现文件——它们是 C 文件,一些包含声明,一些包含定义。但是内联所有内容并不能提高性能 - 编译器对此相当谨慎是有原因的(例如,它会使缓存变得混乱)。
-
您认为您会从中获得什么好处?
标签: c++ gcc g++ inline header-files