C编译器剖析_前言

本文讲述了作者对C编译器的好奇心,以及为何选择UCC编译器作为剖析对象。UCC虽小但功能齐全,适合初学者理解C编译器的工作原理。通过研究UCC,读者可以深入理解C语言的语法和语义,以及编译器如何将源代码转换为可执行程序。这本书旨在使C程序员能够站在编译器实现的角度看待自己的代码,将抽象的编译原理与实际编程相结合。
摘要由CSDN通过智能技术生成

        从1999年在Turbo C 2.0下第一次用C语言写出Hello Wolrd以来,不知不觉在IT相关行当里也混了近15年。相信所有上机写过Hello World的人当初都会有这样的好奇心:由键盘敲进去的不过是一个个普通的英文字符,C编译器是如何神奇地发现哪一行出现了什么样的语法错误,更神奇的是编译连接后为什么就能得到一个可以运行的程序,而这个可执行程序又是怎么样在操作系统上运行起来的。这些问题也一直萦绕在我脑海里,挥之不去。大学时所学的《操作系统》和《编译原理》课程似乎对这些问题给出了答案,似乎又没有。很遗憾,那时也没有人告诉我,想比较彻底地搞明白这些问题,最好的办法是去读编译器或操作系统的源代码。因为“计算机科学与技术”这一学科,虽然冠上了“科学与技术”,但实际上还是“技术”的成份要来得多些。在所有强调“技术”的工作中,“技术”通常只能来源于长期的动手实践。即便是开车倒库这样的活,也是个技术活,没有长期动手实践是倒不好车的。纸上得来终觉浅,绝知此事要躬行。而真正的牛人在大学里上完《操作系统》和《编译原理》课程后就已脱颖而出,比如大牛Linus和Chris Lattner,前者大学时就开启了他的Linux操作系统王国,而后者也在研究生期间缔造了如今在业界如日中天的LLVM编译器。Apple公司已经不动声色地把公司的Object-C编译器从GCC转成了LLVM和Clang,各位的IPhone手机中运行的代码可能正是LLVM和Clang的产物呢。Apple新推出的Swift语言背后站着的仍然是Charis Lattner和LLVM。

         能写出工业水准的操作系统

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值