早前看到过一句话 "Visual Studio 2010的界面是使用WPF开发的“
后来又看到”C语言的编译器,通常使用C语言或C++语言开发“
咋看上去,有点”自己生自己“的意思 和”鸡生蛋,蛋生鸡“的迷惑。
WPF本身就是Visual Studio 中提供的一种开发项目模板,怎么Visual Studio 的界面是用它开发的?是现有的Visual Studio 还是先有的WPF?
C语言编译器就是用来编译C语言的,如果C语言编译器也是C开发的,那么是先有C还是先有C编译器?没有C哪来的C编译器?没有C编译器又怎么去编译C?好绕人也!
仔细想了想,理了理思路,总算是想到了一个能让自己满意的解答。其实”C语言编译器是用C语言开发“这句话的正确理解应该是这样的一个过程:
1. 首先使用汇编语言编写出一个C语言编译器 I.exe(也就是早起的C编译器);
2. 有了 I.exe 之后,就可以用 I.exe 来编写C代码,得到一个程序 II.exe
3. II.exe的功能就可以是读取文本(即C语言源代码),根据文本的生成相应的汇编代码。
4. 这里的 II.exe 其实就是”用C语言开发的C语言编译器“