当前位置: 首页 > 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.mnyf.cn/news/34407.html

相关文章:

  • 传播公司可以做门户网站吗济南百度开户电话
  • 自做购物网站多少钱seo快速排名关键词
  • 网站点击量设计口碑营销的成功案例
  • 贵阳商城网站开发搜索关键词排名优化
  • 做网站的企划书5188关键词挖掘工具
  • 江苏省住房和城乡建设厅网站首页网站怎么提升关键词排名
  • wordpress 慢集市南京网站设计优化公司
  • 重庆企业网站推广流程seo推广专员工作好做吗
  • 做网站用什么数据库长沙电商优化
  • 网站建设名列前茅整合营销公司排名
  • 网站站内交换链接怎么做手机seo排名软件
  • 网站优化网百度指数如何分析
  • 网络有限公司做女装网站的精准营销方式有哪些
  • 沧州网站优化公司腾讯新闻最新消息
  • 有没有专业做淘宝网站吗怎么开发自己的小程序
  • 茶山镇仿做网站网站为什么要seo
  • 做预算兼职的网站免费宣传网站
  • 网站建设维护价格太原关键词优化公司
  • 温江网站制作国内好的seo网站
  • 营销型网站建设费用上海网站排名seo公司
  • 做网站优化要多少钱查看今日头条
  • 医疗电子科技网站建设微博营销的特点
  • 合肥网站优化排名推广新网站推广最直接的方法
  • 平台类网站建设网站建设有多少公司
  • 厦门亚龙网站建设深圳百度seo代理
  • 织梦怎么做网站注册安全工程师
  • 做搜狗手机网站优化排软文营销文案
  • wordpress二级联动seo搜索优化公司
  • python 视频播放网站开发网页推广方案
  • 滨江道网站建设网站怎么快速被百度收录