【问题标题】:Is there a way to define C inline function in .c file rather than .h file?有没有办法在 .c 文件而不是 .h 文件中定义 C 内联函数?
【发布时间】:2011-02-14 17:01:32
【问题描述】:

据我所知,C 内联函数体应该定义在 .h 文件中 因为如果在 .c 文件中定义了正文,则会导致错误“使用但从未定义的函数名”。

这是常规方式吗?或者如何在.c文件中定义内联函数体?

【问题讨论】:

    标签: c header inline-functions


    【解决方案1】:

    每个.c 文件都独立编译成.o 输出。如果在.c文件中定义内联函数,其他源文件看不到该函数,无法内联。

    因此内联函数应该在.h 文件中以允许共享代码。

    【讨论】:

    • 谢谢!你为我节省了很多:)
    • 您是否分析过您的代码以查看该函数是否需要内联,或者这是goo.gl/bquz 的情况?
    • @ttmrichter:(题外话)这不是推特,没必要过早缩短网址。
    • @Eonil:请注意,如果内联函数只在一个 .c 文件中使用,那么它可以在该 .c 文件中而不是在 .h 文件中定义为 static inline。否则,如前所述,我需要在 .h 文件中使其可见。
    • @KennyTM:我确信这是一个很好的俏皮话,但我并不肯定你的意思。 (我不做 twitting 的事情,所以如果它依赖于知道 twitting 的细节,它肯定会飞到我的头上。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2011-09-25
    • 2010-09-19
    • 2018-06-10
    • 1970-01-01
    • 2010-09-13
    相关资源
    最近更新 更多