gcc悄无声色将静态函数内联了

网友投稿 327 2022-10-25


gcc悄无声色将静态函数内联了

说到内联,可能你还停在十几年前甚至二十多年前的C++教典,c++有内联关键字inline,甚至还用来与c做区分。c99开始c引入inline,gcc比c99早实现对inline支持,vc中c没有关键字inline,inline只能用于c++,但有另一关键字__inline,但若你要用vc编译gcc下c代码,遇到cl抱怨不识别inline,只要将inline在预编译宏中定义为__inline也就可以了。

正好近日调试ffmpeg代码,碰上一例子,用来作例证:

ffmpeg是个c代码项目。

avformat_write_header是一个只有十行的函数,就是调用其它函数。

init_muxer是个体积比较大的静态函数,没有定义为内联,却内联到了一个体积很小的函数(avformat_write_header)内。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:QBC查询
下一篇:教你如何用Eclipse创建一个Maven项目
相关文章

 发表评论

评论列表