没有C编译器,windows如何启动和运行



我假设,如果你正在阅读这个问题并知道答案,那么你几乎会立即意识到我是cs中的一个noob,我是。

事情是这样的:我知道编程语言需要一种叫做编译器的东西,这样你写的东西就可以由机器运行,它只知道开和关,1和0。因此,我对C这个流行语言感到好奇,许多其他流行语言都来自它。然后,我了解到windows和许多操作系统(并不是说所有操作系统(都是用C编写的,但同时windows没有内置的C编译器,所以要编写C代码并运行它,你必须安装一个。

这就是整个背景故事在那之后,我想知道如果任何地方都没有编译器,我的计算机怎么可能运行用C编写的实际操作系统

所以,我想明确一点,我根本没有质疑任何事情,因为我假设这是一个事实:windows是用C编写的,没有编译器,它无论如何都会运行。我只想知道这是怎么回事(或者我的一些假设是否不准确或错误,答案是否存在(。

C编译器转换"文本";转换为处理器可以理解的内容(问题中的01(

例如;文本";

int foo(int bar) {
return bar * 2;
}

可能隐藏在这个可执行的中间

00471eb0 14 48 8d 3d 88 03 00 48 8d 14 40 49 8b 06 48 |.H=….H.@I..H|00471 ec0 8d 74 d0 38 31 c0 e8 a5 ec-fff 49 63 46 14 48 |.t.81……IcF.H|00471ed0 8d 3d 6a 03 00 48 8d 14 40 49 8b 06 48 8d 74|=j…H.@I.H.t|

编译器是一个"读取"源代码并将其转换为机器代码的程序,在这个过程结束时,它生成一个二进制文件,一个计算机可以执行的文件,这个文件是从web导航器到操作系统的任何程序。

问题是,一旦生成了这个文件,它就会保持不变,并且可以反复运行,而无需重新编译。

请注意,编译器和解释器之间有区别,前者读取脚本;翻译";它是逐行安装的,并且需要安装才能运行程序。

嗨,我试着在没有太多细节的情况下解释。

在你的电脑中,你没有C源代码(这是微软的专有代码:-|(,但有机器代码。处理器可以读取机器代码(根据体系结构存在不同类型的代码(,而不能读取源代码(您可以编写的代码(。编译器将源代码翻译成可由cpu执行的机器代码。

相关内容

  • 没有找到相关文章

最新更新