This question already has answers here:
How to test a static function
(12个答案)
2年前关闭。
fileA.c具有静态功能(静态int funcA())
无法修改fileA.c。
fileB.c如何使用funcA()?
上面假设
(12个答案)
2年前关闭。
fileA.c具有静态功能(静态int funcA())
无法修改fileA.c。
fileB.c如何使用funcA()?
最佳答案
通常,您不能,在这种情况下,这就是static
的重点。
也许fileA.c
有一种获取函数地址的方法,然后可以使用它进行调用,但不能直接引用static
符号。
对于测试代码,通常要做的一个“技巧”是在测试文件中#include
C文件,因此在fileA_test.c
中您将拥有:
#include "fileA.c"
bool test_fileA_something(void)
{
TEST_ASSERT(foo() == 42);
}
上面假设
foo
是static
内的fileA.c
函数,并且这是可行的,因为文件是一起编译的。关于c - 在C语言中,如何使用非当前文件的静态功能? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43997287/
10-09 18:30