假设我有 3 个单独的文件:main.c、test.c 和 test.h。我如何“强制”包含 test.h 的函数来定义一个已经在 test.h 中声明的函数,即 test.c> 文件可以调用它。
这有点乱,所以让我给你一些代码示例来说明我的意思。
测试.h:
...
#define SOMETHING
...
#ifdef SOMETHING
inline void test_func(BYTE b);
#endif
...
测试.c:
#include "test.h"
void somefunction(void)
{
...
#ifdef SOMETHING
test_func(integer_value);
#endif
...
}
main.c:
#include "test.h"
int main(void)
{
...
}
inline void test_func(BYTE b)
{
// Do something with b
}
简而言之:test.h 声明了一个函数,main.c 定义了该函数,test.c 调用了该函数。
这可能吗?怎么办?
编辑:
用户在 main.c 中声明函数,当编译器给出错误或未声明函数时。
最佳答案
简而言之,应该可以做到这一点。 为什么 ?实现函数的文件不必位于同名的头文件中。 链接器将解决任何问题(如果有)并在缺少某些内容时提出投诉。 如果编译器报错,则说明缺少头文件或您的头文件函数定义与您在 c 文件中的定义不匹配。
关于c - 强制另一个文件定义一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592028/