我目前正在使用keil编译器在C编码。我面临一个问题,我必须使用内联函数(在我的情况下性能问题,所以我必须使用它),我有一个包含内联函数的文件。这个内联函数在头文件中声明,我尝试从另一个包含头文件的文件中访问。我总是得到:函数调用时未定义的符号错误...
以下是说明我的问题的示例:
文件:test.h
extern void my_function (void);
文件:test.c
#include "test.h"
__inline void my_function (void)
{
printf("test ok\r\n");
}
文件:main.c
#include "test.h"
int main (void)
{
my_function ();
}
==>链接错误:未定义的符号my_function
我可以使用宏代替,但你知道解决我的问题的其他方法吗?
答案 0 :(得分:2)
您可以在头文件中定义内联函数:
File : test.h
static inline void my_function (void)
{
printf("test ok\r\n");
}
答案 1 :(得分:1)
您的问题的解决方案是在头文件中定义内联函数。