首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内联函数.自动内联

内联函数.自动内联
EN

Stack Overflow用户
提问于 2013-09-10 18:28:24
回答 1查看 5.4K关注 0票数 6

当在类声明中定义了一个短函数时,它会自动生成内联函数。

我的问题是,

  1. 自动衬里的功能应该有多短?有线限制吗?
  2. 有什么方法可以知道函数是自动内联的吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-10 18:48:09

  1. 自动衬里的功能应该有多短?有线限制吗?

没有硬限制(更确切地说,是的,我们可以在给定的系统上找到上限,但您不会在任何地方找到它)。编译器试图预测在特定情况下这个过程的优点。如果编译器决定内联函数会使代码变慢,或者大得令人无法接受,那么它就不会内联它。如果它由于语法依赖而不能这样做,它也不会这样做,例如使用函数指针进行回调的其他代码,或者像动态/静态代码库中那样从外部导出函数。还请记住,标记函数inline只是表示愿望,编译器没有义务这样做。在C中,任何具有内部链接的函数都可以内联,但是具有外部链接的函数受到限制。

  1. 有什么方法可以知道函数是自动内联的吗?

您可以反汇编二进制文件,然后查看是否有对函数的调用,或者是否是行中的

内联功能能提高性能吗?

内联函数

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18726337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档