今天在复制粘贴的时候发现编译出错,查看报错信息是因为inline引起的错误。先说一下我的用法,在文件A中定义一个函数inline void fun1(void),将此函数定义为了inline函数,在文件B中需要使用刚刚定义的fun1函数,所以直接使用extern inline void fun1(void,然后编译就报错了。
error: inlining failed in call to always_inline 'pulse_timer_fun': function body not available
本来打算不使用inline,但是想想在一些特殊的环境下inline还是非常使用的,所以百度了一下用法,发现只要在extern的时候不要加inline标识就行,如extern void fun1,就能正常编过。