众所周知,操作系统需要 ac 文件才能执行。但是当我们启动内核时,首先将其解压缩,但使用 ac 函数进行解压缩。到目前为止,系统中还没有操作系统。那么这个c代码是如何执行的呢?
问问题
149 次
3 回答
1
引导加载程序负责解压和加载内核,然后将控制权交给解压和加载的内核。内核不像标准 C 可执行文件那样执行。因此,没有要求操作系统是执行 C 代码所必需的。例如,有很多嵌入式系统没有操作系统,但执行的是 C 代码。此外,引导加载程序也是用 C 编写的。执行的唯一要求是将代码加载到内存中并将控制权转移给它。
于 2016-04-26T18:48:35.747 回答
0
您不需要操作系统来运行 C 代码。
让我澄清一下。
当程序由 GCC 编译时,它会生成一个目标代码,作为汇编程序的输入,汇编程序将该目标代码转换为可以由机器直接执行的二进制代码。
但如果 GCC 直接生成二进制代码,则不需要任何汇编程序或任何操作系统。因此,二进制可以直接由硬件逐条指令执行。
于 2013-03-04T07:39:32.127 回答