有那么一刻,我为自己编写了我的第一个可能没有错误的 C 程序感到非常自豪。这是整个源代码:
int main;
即使没有 ,它也能完美编译int
,但会发出警告(即使没有-Wall
),作为一个致力于无错误程序的程序员,我将它们视为错误。
愉快地编译了这个应用程序后,我立即赶忙启动它。令我惊讶的是,出现了分段错误错误...
现在认真了。到底发生了什么?
我的猜测如下:这是缺少main
' 的定义。这很明显,但编译器允许这样做。好的,main
可以在不同的单元中定义。但即使是链接器也没有做任何事情。有什么特别的原因吗?