为什么不需要:每个后缀为.C的C语言源程序都应该包含一个main函数,能清晰解答吗?

如题所述

楼主应该是理解成每一个c文件应该都有一个入口程序,这是不对的,程序可以由多个c文件组成,但是程序的入口就只有一个,也就是main函数了。如果每个c文件都有一个main函数的话,一个程序由多个c文件组成,程序就不知道从哪里开始执行了。或许楼主会想,那就同时执行吧,是一个好想法,但是现在的编译器还不支持这样。如果编译器足够强大,确实可以做成多个入口main,一开始就是多线程,多好啊。哈哈
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-17
c语言的程序入口时main函数,不管一个程序多大包含多少个.c文件,这个main函数可以放在任何一个文件里,但是电脑执行程序性时,必然是先从main开始追问

为什么每个后缀为.C的C语言源程序都可以进行单独的编译?

追答

多个C编译产生多个obj文件,然后由linker统一链接成为一个执行文件
例如有一个程序由file1.c, file2.c, file3.c组成, 要将这3个文件编译装配成一个file.exe的执行文件, 可以先建立一个file.prj的项目文件, 其内容如下:
file1.c file2.c file3.c
此时将file.prj放入Project name项中, 以后进行编译时将自动对项目文件中规定的三个源文件分别进行编译。然后连接成file.exe文件。如果其中有些文件已经编译成.OBJ文件, 而又没有修改过, 可直接写上.OBJ扩 展名。此时将不再编译而只进行连接。例如: file1.obj file2.c file3.c 将不对file1.c进行编译, 而直接连接。 说明: 当项目文件中的每个文件无扩展名时, 均按源文件对待, 另外, 其中的文件也可以是库文件, 但必须写上扩展名.LIB。

追问

不懂

第2个回答  2013-09-17
一个工程里面只有一个main函数,供系统调用,这是程序运行的入口与出口;程序运行过程中可以调用其它函数,这些函数可以放在该工程内的任意.c文件里.
第3个回答  2013-09-17
一个工程,可以有很多.c文件,而一个工程,只有一个main函数入口。
相似回答