Jus*_*cle 33 c c++ compiler-construction compiler-optimization
经过十多年的C/C++编码,我注意到了以下模式 - 非常优秀的程序员倾向于详细了解编译器的内部结构.
我是一个相当优秀的程序员,我有一个特殊的编译器"迷信"集合,所以我想重新启动我的知识并从基础开始.
有人可以推荐在线资源或喜欢的书籍链接吗?我对C/C++编译,优化,GCC和LLVM特别感兴趣.
sou*_*wal 28
从龙书开始....(更多关注代码优化和代码生成)
去编写一个玩具编译器,用于教育编程语言,如Decaf或Cool ..,你可以使用解析器生成器(lex和yacc)作为你的前端(让生活更轻松,专注于更多的东西)....
然后阅读gcc internals book以及浏览gcc源代码.
NoM*_*ots 11
编译器文本很好,但是对于自己教学来说它们有点沉重.Jack Crenshaw有一本"书",这是一系列文章,你可以下载并阅读"Lets Build a Compiler".它遵循"边做边学"的方法,如果你没有从这个主题的正式课程中得到任何东西,或者它已经花了太多年了(这是我的情况).它牵着你的手,引导你通过编写编译器,而不是用Lambda微积分和只有学术界关心的深层理论问题来打扰你.这是一个很好的方式来激发那些只有在Vax(YEAH,那是一个VAX!)许多月前在学校写东西的模糊记忆的脑细胞.它的编写非常简单,易于坐下来阅读,不像大多数教科书需要几罐咖啡才能超越第一章.一旦你有了理解的基础,那么更多的传统文本,如龙书,是扩展你的理解的伟大参考.(而且我个人喜欢Dead Tree版本,我打印出Jack's,在舒适的位置阅读比在笔记本电脑上阅读更容易.而电子书阅读器太昂贵了,因为某些东西实际上并不像你在阅读真实的书.)
有些人可能称之为"缺点"是它是用Pascal编写的,但我认为这让我更多地考虑它,而不是有人给我一个有效的C程序开始.从那时起,它就以68000编写,仅在此时才用于嵌入式系统.对我而言,这不是一个问题,我知道68000 asm和68000 asm比其他一些asm更容易阅读.
归档时间: |
|
查看次数: |
24399 次 |
最近记录: |