c++ - <function number of lines> 和 <times function called> 是否被认为与内联成反比?

标签 c++

我知道 inline 适合多次调用的微小主体函数。如果调用次数增加,可能会导致代码过大。但是一个只调用了几次的大型主体函数呢?

我主要对 inline 感兴趣 - 在 main() 的 while 循环中只调用一次的大型主体函数。这个函数实际上是核心,所以它占程序的 90%,并且如前所述,每个 tick 执行一次。
我认为编译器可以毫无问题地使其成为 inline,就像我自己在 while 中编写它一样。相反,我在其他地方定义它并在 while 中调用它。

编辑:
我很清楚 inline 更多的是编译器决定而不是用户决定,甚至内联非指定的 inline 函数,所以用户控制几乎可以忽略不计.但这是一个原则问题,而且在这种特殊情况下它可以很好地发挥作用。

最佳答案

合理的想法。有许多编译器可以生成链接时代码。那些人可以看到您的函数只有一个调用者,并将其内联。

话又说回来,因为这需要链接时代码生成,所以 inline 关键字无论如何都不是那么有用。

关于c++ - <function number of lines> 和 <times function called> 是否被认为与内联成反比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307679/

相关文章:

c++ - 共享库中的回溯函数

c++ - 随机数外部排序

c++ - 如何将自定义 Artifactory 从 TeamCity 发布到 Artifactory?

C++ HTTP : Filter Response Header

c++ - 我可以将每次移动引用的数组传递给 std::thread 吗?

c++ - 如何在 cvCvColor 之后获取对 YUV 组件的引用?

c++ - 使用 C++ 的 OpenGL 中的动画点?

c++ - 按创建时间搜索文件

c++ - 警告 C5029 是否仅指示正在使用 Microsoft 扩展?

c++ - 使用 CLI 传输指针值时出错