For*_*oob 25 c static extern inline-functions
什么是之间的区别static inline,extern inline和正常的inline功能?
我已经看到了一些模糊的解释.据我所知,static inline不仅仅是一个inline仅在某个文件中引用的函数,因为static关键字通常意味着.这同样适用于extern inline过我想,这是不一样的解释与extern变量.任何答案将不胜感激!
AnT*_*AnT 25
函数定义,static inline用于定义具有内部链接的内联函数.这样的函数从这些限定符的"通常"属性"按预期"工作:static赋予它内部链接并inline使其内联.因此,此函数对于翻译单元是"本地的"并且内联在其中.
一个函数定义,只是inline定义了一个带有外部链接的内联函数.但是,这种定义称为内联定义,它不能作为该函数的外部定义.这意味着即使此函数具有外部链接,它也将被视为未定义其他翻译单元,除非您在某处为其提供单独的外部定义.
函数定义使用extern inline外部链接定义内联函数,同时此定义用作此函数的外部定义.可以从其他翻译单元调用此类功能.
最后两段意味着您可以选择为extern inline具有外部链接的内联函数提供单个定义,或者为其提供两个单独的定义:one inline和other extern.在后一种情况下,当您调用该函数时,允许编译器选择两个定义中的任何一个.
| 归档时间: |
|
| 查看次数: |
8011 次 |
| 最近记录: |