【发布时间】:2022-01-18 04:37:36
【问题描述】:
当我们创建一个指向主函数的指针并调用它时,它是像递归一样复制堆栈内存中的数据还是只是指向它并重新开始。
【问题讨论】:
-
main和其他任何函数在这方面没有区别 -
两者都不是。每当您调用一个函数时,无论是
main还是任何其他函数,该函数的新信息都会被压入堆栈。它不复制已经存在的内容(也就是说,它不直接复制堆栈上已经存在的内容;新数据可能相同,因为新调用与旧调用执行相同的操作),堆栈指针也不是改为指向原来main信息的位置。 -
@EugeneSh。
main()可能会错过return语句 -
对于嵌入式系统,我怀疑您真正在寻找的是如何强制执行 MCU 重置,因为这将恢复所有寄存器值以及软件。