服务器main函数里消息主循环函数为啥不会卡死

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器main函数里消息主循环函数为啥不会卡死相关的知识,希望对你有一定的参考价值。

参考技术A main的声明是void,那么main()函数内出现return的话编译器就有可能会编译出逻辑错误。建议把return换成continue、或者break

arm程序退出死循环

ldr lr,=halt_loop
ldr pc,=main
halt_loop:
b halt_loop

配置了链接寄存器指向的是halt_loop,在pc跳到主函数运行结束之后,pc的值会指向链接寄存器lr,然后就跳到halt_loop这个死循环上了,这是程序结束至死循环的意思。

1、如果main是死循环,那么本条语句是不会执行,cpu在一直取指运行。
2、如果main不是死循环,那么main返回后,执行汇编里面的这条循环。
如果不这么做,cpu会继续往下执行,然而后边并没有代码了,就会会把垃圾数据当做指令,触发未定义指令异常,导致系统崩溃可能就重启了

以上是关于服务器main函数里消息主循环函数为啥不会卡死的主要内容,如果未能解决你的问题,请参考以下文章

JAVA里面的main函数为啥要定义为static的?

delphi运行时主界面卡死

main函数包含在哪个头文件里,为啥使用main函数时不用先包含其所在的头文件

java里为啥主函数前面要加static修饰

STM32串口中断卡死主循环问题分析

C++控制台程序怎样使主函数无限循环