【发布时间】:2013-08-13 02:57:14
【问题描述】:
在我们的项目中,我们有大约 50K 行的相当大的 C 文件,是在 90 年代编写的。 我想根据功能拆分文件。但是,这个文件中的所有函数都被声明为静态的。所以,文件范围。如果我拆分文件,则 file1 中的函数无法调用 file2 中的函数,反之亦然。
但是,我的 TL 感觉可以通过使用静态函数来优化内存。 我写了一些示例代码来查看不同线程的堆栈是否不同。 好像是这样。有人可以告诉我静态函数和普通函数之间的区别吗?
【问题讨论】:
-
通常使用
static的主要目的是避免名称冲突,而不是任何优化或效率问题。因此,如果您可以为函数名称添加足够独特的前缀或后缀,则将它们设为extern就可以了。