野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10010|回复: 12

为什么要求main.c文件中main类型为INT型

[复制链接]
发表于 2016-1-12 15:55:50 | 显示全部楼层 |阅读模式
写void型时,报错如下
return type of function "main" must be "int"
回复

使用道具 举报

 楼主| 发表于 2016-1-12 16:17:06 | 显示全部楼层
各位大神,小白求解答
回复 支持 反对

使用道具 举报

发表于 2016-1-12 16:50:24 | 显示全部楼层
这问题直接百度吧
回复 支持 反对

使用道具 举报

发表于 2016-1-12 18:10:47 | 显示全部楼层
看返回值呗
回复 支持 反对

使用道具 举报

发表于 2016-1-13 07:30:08 | 显示全部楼层
我也不明白呀, main函数怎么还有返回值,我以前全是用void 型呀
返回值有什么意义?
回复 支持 反对

使用道具 举报

发表于 2016-1-13 07:59:09 | 显示全部楼层
11kxmx 发表于 2016-1-13 07:30
我也不明白呀, main函数怎么还有返回值,我以前全是用void 型呀
返回值有什么意义?

main 的返回值应该是给里面的那个启动程序用的啊。没有那个启动代码,main能跑起来吗?哈哈。其实Main是被调用的而已。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-13 08:08:17 | 显示全部楼层
qduwg 发表于 2016-1-13 07:59
main 的返回值应该是给里面的那个启动程序用的啊。没有那个启动代码,main能跑起来吗?哈哈。其实Main是 ...

也就是说启动程序需要main函数的返回值作为启动信号,那这个启动程序具体是指什么,是system_stm32f10x.c里面的吗
回复 支持 反对

使用道具 举报

发表于 2016-1-13 10:34:15 | 显示全部楼层
我的成神路 发表于 2016-1-13 08:08
也就是说启动程序需要main函数的返回值作为启动信号,那这个启动程序具体是指什么,是system_stm32f10x.c ...

STM32里面有启动代码的。内置的。不是你说的那个.c文件哦。

也并非你理解的,Main的返回值作为启动信号。哈哈。这是两码事。main已经执行完了,怎么还需要启动信号?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-13 10:57:57 | 显示全部楼层
qduwg 发表于 2016-1-13 10:34
STM32里面有启动代码的。内置的。不是你说的那个.c文件哦。

也并非你理解的,Main的返回值作为启动信 ...

好吧,谢谢大神,这段话我还得学好长一段时间才能懂,不深究了
回复 支持 反对

使用道具 举报

发表于 2016-1-13 16:48:11 | 显示全部楼层
flyleaf 发表于 2016-1-12 16:50
这问题直接百度吧

你给说说...
回复 支持 反对

使用道具 举报

发表于 2016-1-13 17:00:26 | 显示全部楼层

学C语言的时候不是有教嘛?概念性的东西。  这个我都不记得了,不然我也不会叫你们百度啊大概就是:
C标准库声明的main函数就是带返回值的,你定义的main函数跟它不一样,那就会报错或警告了。

在stm32的工程里,main函数是被__main调用的,而__main是被启动文件stm32f10x_startup.s文件调用的

__main由编译器实现,看不到源码。想研究的话,你找个GCC编译器估计可以看到这些
回复 支持 反对

使用道具 举报

发表于 2016-1-24 20:46:50 | 显示全部楼层
main的返回值估计只能在启动文件中看了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 08:59:24 | 显示全部楼层
Romantic 发表于 2016-1-24 20:46
main的返回值估计只能在启动文件中看了。

谢谢你的回答,嘿嘿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 02:05 , Processed in 0.076022 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表