当我们想用一个函数说void foo(void)在File1.c我的Main.c[在我的主要功能是-为什么我不需要写:
extern int main(void);
在File1.c?
假设
File1.c并且Main.c处于单一TU中.
您永远不需要extern使用函数声明来编写.函数默认具有外部链接.在一些旧代码中观察到一种奇怪的无法解释的习惯:添加extern到所有外部函数声明.(这可能是导致你提出问题的原因main.)实际上,这完全是不必要的,没有任何目的,只会使代码混乱.
你一定能宣布main与extern,如果你愿意的话.但这完全是多余的.