我有以下.c
个文件:
difficult_calculations.c
#include difficult_calculations.h
#include helper_functions.c
int do_difficult_calculations() {
return helper_function();
}
helper_functions.c
static int helper_function() {
return 42;
}
我将helper_function()
声明为static
,因为我希望将其与其余代码隐藏起来。但是,我还是想对它进行单元测试。在我的测试文件test.c
中,然后我做了
#include helper_functions.c
void test_helper_function() {
// Testing code
}
这样做会在unused function
和gcc
中发出clang
次警告。我当然可以使用-W-no-unused-function
,关闭这些警告,但我想检查是否有另一种更清晰的方法将助手函数定义为static
而不会收到这些警告?
在static
文件中将函数定义为difficult_calculations.c
函数不是一种选择,因为如果我多次包含duplicate symbols (do_difficult_calculations())
,我将获得difficult_calculations.c
(例如,完全不同)独立单元测试文件)。