C语言为什么要有 main 函数?具体作用是什么?
main是用来指定程序从那里开始执行的。就是一个大家遵守的规定。(被写到了C99规范)
从编译器的角度来看,你可以自己定义你喜欢的main1, main2 或者其他什么函数。只要没有重名,c的编译器都能给你编出来。(生产结果是obj文件,而不是可执行文件)
所以你问为什么c语言要main函数,其实c语言并不是那个在乎main函数。很多开发平台因为不喜欢main这个名字,也会把入口函数改成其他名字。
2 就好像c的编译器工作之前先要做cpp(比如头文件展开)一样,编译完了以后还要链接成可执行文件。
链接的时候需要知道程序的入口是什么。不管是什么总归得有的名字,所以main被选中了。
你不喜欢这个名字,可以指定你自己的入口。
参见如下文档的 -e 或者--entry参数。
3 很多脚本语言是不要入口函数的。比如什么函数都不写,直接写一句print 1000就能执行了。
那个他们怎么就知道入口函数是什么呢?因为他们第一行开始执行,因此也是很明确的。
从编译器的角度来看,你可以自己定义你喜欢的main1, main2 或者其他什么函数。只要没有重名,c的编译器都能给你编出来。(生产结果是obj文件,而不是可执行文件)
所以你问为什么c语言要main函数,其实c语言并不是那个在乎main函数。很多开发平台因为不喜欢main这个名字,也会把入口函数改成其他名字。
2 就好像c的编译器工作之前先要做cpp(比如头文件展开)一样,编译完了以后还要链接成可执行文件。
链接的时候需要知道程序的入口是什么。不管是什么总归得有的名字,所以main被选中了。
你不喜欢这个名字,可以指定你自己的入口。
参见如下文档的 -e 或者--entry参数。
3 很多脚本语言是不要入口函数的。比如什么函数都不写,直接写一句print 1000就能执行了。
那个他们怎么就知道入口函数是什么呢?因为他们第一行开始执行,因此也是很明确的。