The question was about plain c functions, not c++ static
methods, as clarified in comments.
我知道什么是static
变量,但是什么是static
函数呢?
为什么如果我声明一个函数,比如说void print_matrix
,在a.c
(没有a.h
)中,包含"a.c"
——我得到"print_matrix@@....) already defined in a.obj"
,但如果我声明它为static void print_matrix
,那么它就编译了?
UPDATE个只是为了把事情弄清楚-正如你们许多人指出的那样,我知道包括.c
个是不好的.我这样做只是为了暂时清除main.c
中的空间,直到我更好地了解如何将所有这些函数分组到正确的.h
和.c
文件中.只是一个临时的、快速的解决方案.