之前在一个十分著名的网站上看到:“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语言编译器“
其实鸡也一样,首先是没有鸡的,后来因为两个不知名的物种,杂交生下了鸡,就像驴和马生成了骡一样,区别就是骡是不可生育的,鸡是可以下蛋的,于是,鸡就开始下蛋,蛋就开始孵化成鸡,于是就有了现在这么多鸡和鸡蛋。
时间: 2024-11-14 12:26:30