打印
[APM32E1]

大致了解MDK下的__main函数在做什么?

[复制链接]
873|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LQM568|  楼主 | 2022-5-27 17:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
     大致了解了MDK下的__main函数所做的事情, MDK下在程序运行到我们用户定义的main()函数前,到底做了些什么,想看看ARMCC编译器默默地为做了哪些工作? 想知道这些细节,其实还是在一次使用RTOS 时,发现了一个编译器相关的知识点:int $Super$$main(void); int $Sub$$main(void);之前不了解这个知识点的用法,后来看了MDK的help文件后才会使用,所以对编译器做的事情感兴趣,就有了下面的__main分析;
说明:内容结合工程下的.map .axf文件,以及.AXF的反汇编文件,LED工程代码,从上电-----到用户main()函数的所有流程,都有详细的分析和介绍,并配有大量的图片进行说明,只要你按照流程过一遍,都能明白的; 如果如果觉得分析的不错,对你的学习有帮助,还请多多支持;
如果,发现文档中有不对的地方,还请详细指出来,共同进步;






使用特权

评论回复
沙发
bestwell| | 2022-10-10 20:07 | 只看该作者
程序执行从主函数 -- main() 开始,到主函数的结束为止,退出程序。

使用特权

评论回复
板凳
updownq| | 2022-10-10 20:21 | 只看该作者
__main是keil运行库提供的函数,进行一些系统初始化的操作,然后跳转到用户定义的main函数

使用特权

评论回复
地板
pmp| | 2022-10-10 20:42 | 只看该作者
一程序开始执行都是从主函数开始的      

使用特权

评论回复
5
tabmone| | 2022-10-10 21:13 | 只看该作者
main函数是程序执行时的入口              

使用特权

评论回复
6
cemaj| | 2022-10-10 21:55 | 只看该作者
main函数之前--真正的函数执行入口或开始 一种解释 实际上,在可执行文件被加载之后,控制权立即交给由编译器插入的Start函数,它将对后面这些全局变量进行准备

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

0

粉丝