直到不久前,我的代码库还非常接近#include
地狱。每次我更改一个稍微重要的 .h 文件时,实际上所有文件都会重新编译。
如此高的标头依赖性的主要原因是我有许多需要内联的小函数,我的印象是内联工作它们需要与调用代码在同一个翻译单元中,所以它们需要是在标题中。对于内联函数,甚至编译其他头文件也需要包含在头文件中,ad infimum。
输入链接时代码生成(在 Visual Studio 中)。这样做的主要优点之一是现在内联函数可以跨翻译单元。
但我还是很不确定。我怎样才能真正确定这些函数真的被内联了?我意识到无论我在哪里定义函数,编译器基本上都可以做它想做的任何事情。
有没有办法检查内联的内容?