直到一段时间以前,我的代码库非常接近#include
地狱.每当我更改一个即使是非常重要的.h文件时,几乎所有文件都被重新编译.
如此高的标头依赖性的主要原因是我有许多需要内联的小函数,我的印象是,对于内联工作,它们需要与调用代码在同一个翻译单元中,所以它们需要是在标题中.对于内联函数甚至编译其他标题也需要包含在标题中,ad infimum.
输入链接时代码生成(在Visual Studio中).其中一个主要优点是现在的内联函数可以跨越翻译单元.
但我仍然不确定.我怎么能真正确定这些功能真的被内联?我意识到无论我在哪里定义函数,编译器基本上可以做任何想做的事情.
有没有办法检查内联的内容?
我知道在C++中这是禁忌,但你可以将这些函数实现为预处理器宏.对不起,我现在用肥皂洗脸.