当前位置: 首页 > news >正文

网站建设制作细节公司宣传片制作价格

网站建设制作细节,公司宣传片制作价格,浙江天力建设集团有限公司网站,网站建设所需知识一、__main和main()之间的关系 先来对stm32启动过程简单学习 启动文件里面的Reset_Handler: 调用过程: stm32在启动后先进入重启中断函数Reset_Handler,其中会先后调用SystemInit和__main函数, __main函数属于c库函数&…

一、__main和main()之间的关系

先来对stm32启动过程简单学习

启动文件里面的Reset_Handler:
在这里插入图片描述

调用过程:
在这里插入图片描述

stm32在启动后先进入重启中断函数Reset_Handler,其中会先后调用SystemInit和__main函数,

__main函数属于c库函数,其内部依次进行三步工作,即先初始化rw段,然后初始化zi段,最后调用另一个c库函数__rt_entry(),

__rt_entry()该函数先初始化堆栈和库函数,然后即调用主函数main(),从而进入用户程序。可以看出主函数main()若退出,则在__rt_entry()最后会再调用exit()函数进行退出操作。

__main和__rt_entry这俩函数实际上我都没能力进的去,我也是找网上大神逆向分析出来的“借鉴”学习一下

总结:stm32启动文件里面Reset_Handler最后调用了__main,而在__main里面最后调用了__rt_entry(),然后__rt_entry()在做完堆栈和库函数初始化工作之后才调用main()。

二、修改主函数名称的方法
在这里插入图片描述

Reset_Handler中导入和执行的__main函数换成自己在c文件里随便定义的函数即可,比如上图的testmain,我现在就是把在c文件里面定义的testmain函数作为主函数来用的。注意这里有个误区,有的人可能会将__main换成比如__testmain,然后实际自己定义的是testmain,这样编译肯定通不过,然后就说什么stm32的主函数名改不了。因为__testmain没有定义啊,这个和__main不一样,main是c的库函数,标准库自己包含的,它是在内部调用的main(),而不是编译过程给它去掉了两个下划线

但由于__main函数除了调用main()以外在前后还有初始化堆栈和库函数、调用exit()的操作,而我这里直接把__main函数替换成自己想要运行的函数则不包含那些操作,换句话说启动文件前面设置的堆和栈大小都白设置了,库里面有的值如果有设置的也白设置了,现在都成了默认的值,还有exit()里面有啥特别的用处也不了解,等于把一个本来该有但未知用途的模块删了,这肯定是不行的。因此在stm32平台上尽量还是不要自己擅自修改main函数名称。

Linux main启动参考:主函数main和程序入口_start

http://www.yayakq.cn/news/750014/

相关文章:

  • 网站建设费会计域名购买万网
  • 为什么我自己做的网站搜索不到宁波seo搜索平台推广专业
  • 公司网站设计定制php综合网站源码
  • wordpress搭电影网站洛阳建站
  • 三亚市住房和城乡建设厅网站广州网站二级等保
  • 做网站用采集wordpress导航栏怎么设置
  • 什么网站百度的收录高青山湖网站建设
  • 杭州微信网站制作外贸购物网站模板
  • google下载安卓版seo关键词优化策略
  • 做国外网站什么好seo排名快速上升
  • 做外贸网站空间多少g页面设计的软件
  • seo外链网站荆楚网微信公众平台下载
  • 网站收索流量网站建设珠江摩尔
  • 步步高学习机进网站怎么做seo应用领域
  • 建设集团有限公司网站拼多多网站建设过程
  • 程序员给女盆友做的网站域名注册信息可以在哪里找到
  • 网站空间与域名的关系自家企业网络推广
  • 安徽省建设厅网站工程师查询临沂网站建设中企动力
  • wordpress系统安装网站优化一般要怎么做
  • 局域网网站开发网站没有备案时
  • 建站推广外包常州微网站建设
  • 郴州网站建设公司哪里有企业名录查询
  • 怎么做网站广告位惠州网红
  • 网站关键词的布局用liferay做的网站
  • 只做网站的2008iis7怎么搭建网站
  • 游戏开发公司哪家好优化网站页面
  • 如何网站增加域名东莞网络推广平台
  • 免费建立自己微网站吗包装设计效果图生成器
  • 网站做SEO优化多少钱河南seo网站多少钱
  • 丹阳网站建设如何免费搭建贴吧系统网站