最近我一直在学习如何使用C ++进行编程,并且正在徘徊,如果将编译器语言转换为机器代码,是否可以简单地运行代码就好像它是汇编代码一样?或者在另一个例子中,我只将已编译的代码加载到格式化的闪存驱动器上,没有其他任何内容,并将该闪存驱动器插入到没有操作系统的计算机上,并从闪存驱动器启动以使计算机运行已编译的代码,别无其他。这样的事情甚至可能吗?语言是否不直接由处理器支持,或者是运行程序所需语言的某种解释器/执行环境?
对不起,如果我的要求有点抽象,我不知道如何解释它除了提供示例之外。
答案 0 :(得分:1)
几乎。
在将执行交给已编译的C ++之前,您可能需要进行一些初始化。例如,您可能需要初始化堆栈指针和其他无法在C ++中完成的低级初始化。
之后您应该知道在运行main之前需要进行一些初始化,但通常可以在C ++中完成,特别是如果您需要一组合理的语言功能(内存分配) ,异常处理等)可用。
您还应该知道,许多理所当然的功能通常由操作系统处理。如果没有操作系统,可执行文件必须具有在需要时处理该功能的库(例如流输出功能,文件系统等)。