C语言之“先有的鸡还是先有的蛋”浅谈

之前在一个十分著名的网站上看到:“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语言编译器“


其实鸡也一样,首先是没有鸡的,后来因为两个不知名的物种,杂交生下了鸡,就像驴和马生成了骡一样,区别就是骡是不可生育的,鸡是可以下蛋的,于是,鸡就开始下蛋,蛋就开始孵化成鸡,于是就有了现在这么多鸡和鸡蛋。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值