gpt4 book ai didi

c - 在系统开始运行 main() 之前会发生什么?

转载 作者:行者123 更新时间:2023-12-02 06:14:55 25 4
gpt4 key购买 nike

作为初学者,我在嵌入式系统上工作,遇到过在 main() 函数开始之前运行的文件,如 start.scstart 文件。这些或类似文件的用途是什么?我们要告诉系统什么信息?

最佳答案

至少,main() 之前的启动代码设置了“C 环境”:它初始化堆栈指针,将初始化变量值 (.data) 从非 volatile 存储器复制到 RAM,并设置所有未初始化变量 (.bss) ) 归零。

根据体系结构,您可能需要做更多的事情。在转到 main() 以继续系统启动之前,您可能需要初始化时钟和/或其他关键外设、中断 vector ,可能还需要设置处理器上下文等。

关于c - 在系统开始运行 main() 之前会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39600968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com