C程序中是不是一定要有main函数?
7个回答
展开全部
展开全部
不是。C程序只是源代码,具体是否需要 main 取决于您要编译成什么样的可执行文件。在Windows平台上,这包括:是直接可执行文件(exe)还是动态连接库(dll,ocx...),是控制台程序(像DOS窗口的那种)还是GUI程序(像Internet Explorer那种),是 unicdoe (wmain) 还是 MBCS (main),是否使用了标准C语言运行时(C runtime)
编译程序时,入口点是可以通过编译器指定的,如果你不指定,它的默认值是调用 C runtime 的入口点,而不是 main,C runtime 的入口函数执行完它自己的工作后会调用你的 main,所以是 C runtime 要求你的程序必须写 main。你也可以通过参数告诉编译器直接拿你的任何一个函数作为入口点,这样程序启动后第一个被执行的就不再是 main 了,因为连 C runtime 都没机会执行了。不过这样一来很多 C 标准函数也不能用了,因为它们需要 C runtime 的入口函数为它们做一些初始化工作。main 函数的两个参数也没作用了,它们其实是 C runtime 的入口函数搞出来的。
编译程序时,入口点是可以通过编译器指定的,如果你不指定,它的默认值是调用 C runtime 的入口点,而不是 main,C runtime 的入口函数执行完它自己的工作后会调用你的 main,所以是 C runtime 要求你的程序必须写 main。你也可以通过参数告诉编译器直接拿你的任何一个函数作为入口点,这样程序启动后第一个被执行的就不再是 main 了,因为连 C runtime 都没机会执行了。不过这样一来很多 C 标准函数也不能用了,因为它们需要 C runtime 的入口函数为它们做一些初始化工作。main 函数的两个参数也没作用了,它们其实是 C runtime 的入口函数搞出来的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是控制台类型的,一定是main为入口,如果是窗口类型的,可能就是其他的了比如winmain什么的,这个主要由运行时来决定的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-11
展开全部
当然要有了,那是函数的入口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,编译器通过main函数找到整个程序的入口。
但是vc上有其他设定。
但是vc上有其他设定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询