关于int main(void)函数的那点事

2019-08-14 07:25发布

为什么STM32中必须要以int main(void)才不会警告!!!main函数有返回值吗?
为什么我写一个return  int型的main函数又会报错,,求解释!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
yanong
1楼-- · 2019-08-15 02:27
回复【7楼】jermy_z:
---------------------------------
确实是看他的书,,好像我们大学的C都是他的书
我们还有梦想
2楼-- · 2019-08-15 08:08
jermy_z 发表于 2014-12-2 09:24
都被谭浩强的书害了。。。

哈哈~为什么限制6个字?!
lipengyun168
3楼-- · 2019-08-15 12:39
正好解决了我这个问题!!!!!!!
lipengyun168
4楼-- · 2019-08-15 16:46
 精彩回答 2  元偷偷看……
互利共赢
5楼-- · 2019-08-15 21:45
这个问题说是MDK规定的是对的,但是归根原因是:在.S启动文件中调用的是_main()函数,注意前面的“_”符号,这个是调用mdk提供的一个库函数,里面做了一些有编译器为我们完成的工作:__scatterload()->__rt_entry()->__user_setup_stackheap()主要就是这个流程,这里是不是也明白了我们在.S文件中的__user_setup_stackheap()函数的作用,就是在_main()中调用的;接下来进入我们的main()函数,如果你的main函数是个while循环,main就不返回,否则是要返回的,那么既然返回,那你的返回类型是啥,这在_mian()中是有要求的,因为在_mian中调用了exit()函数来处理我们的main的返回值,所以你写的mian函数要求是int    mian()    return x;

一周热门 更多>