Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 标题和静态函数_C - Fatal编程技术网

C 标题和静态函数

C 标题和静态函数,c,C,我必须建立一个静态库,带有一些预定义的函数,还需要一些辅助函数 一个要求是:您的库不能提供函数名以外的任何全局符号 我知道这些函数应该只在库的一个模块中可用。这意味着函数应该是静态的。如何在标头中声明静态函数 我在本主题中找到了内联函数的解决方案: “如果它们在多个C文件中使用,则将它们声明为静态,并将其定义包含在包含的头文件中。这允许所有包含该头文件的.C文件都有自己的函数专用定义,从而允许编译器内联该函数。在将要使用的头文件中,单独的静态函数原型几乎没有意义。”y多个源文件,因为它们的实际定

我必须建立一个静态库,带有一些预定义的函数,还需要一些辅助函数

一个要求是:您的库不能提供函数名以外的任何全局符号

我知道这些函数应该只在库的一个模块中可用。这意味着函数应该是静态的。如何在标头中声明静态函数

我在本主题中找到了内联函数的解决方案:
“如果它们在多个C文件中使用,则将它们声明为静态,并将其定义包含在包含的头文件中。这允许所有包含该头文件的.C文件都有自己的函数专用定义,从而允许编译器内联该函数。在将要使用的头文件中,单独的静态函数原型几乎没有意义。”y多个源文件,因为它们的实际定义将丢失。“但这如何与普通函数一起工作?

为什么您认为您需要在头中使用静态函数来完成您要做的工作?该要求允许您拥有全局功能。您能给出一些您认为需要执行此操作的代码示例吗?我理解此限制,因此辅助功能只能在模块内工作,而不能作为“单独/单独”功能。我以为它是用静态函数工作的。我不明白你所说的“辅助函数”和“独立/独立函数”是什么意思。请显示代码以说明您的要求。您可以在C文件中声明静态函数。您可能不需要在标题中声明静态函数。例如,指定了一个可以合并两个列表的函数。然后,我定义了一个附加函数,将两个列表连接起来。此连接函数应仅在此库中工作。然后在使用它的C文件中声明它为静态。没有必要把它放在头文件中。