fileA.c 有一个静态函数 (static int funcA())
文件A.c无法修改。
fileB.c 如何使用 funcA()?
最佳答案
一般来说你不能,这就是这种情况下静态
的全部意义。
也许fileA.c
有办法获取函数的地址,然后你可以用它来进行调用,但你不能引用static
符号直接。
对于测试代码,经常使用的一个“技巧”是在测试文件中#include
C 文件,因此在fileA_test.c
中您将拥有:
#include "fileA.c"
bool test_fileA_something(void)
{
TEST_ASSERT(foo() == 42);
}
上面假设 foo
是 fileA.c
内的一个 static
函数,并且由于文件是一起编译的,所以这是有效的。
关于c - C语言中,如何使用非当前文件的静态函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43997287/