如何正确隐藏功能而不会收到“未使用的功能”警告

时间:2016-11-01 16:59:51

标签: c static warnings

我有以下.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 functiongcc中发出clang次警告。我当然可以使用-W-no-unused-function关闭这些警告,但我想检查是否有另一种更清晰的方法将助手函数定义为static而不会收到这些警告?

static文件中将函数定义为difficult_calculations.c函数不是一种选择,因为如果我多次包含duplicate symbols (do_difficult_calculations()),我将获得difficult_calculations.c(例如,完全不同)独立单元测试文件)。

0 个答案:

没有答案