|
|
1
3
检查 Dragon Book |
|
|
2
5
编译程序是一个有点头晕目眩的练习。但是,如果您对数据结构、算法和汇编代码有了扎实的了解,并且喜欢仔细考虑细节,您可能会发现 这门课很吸引人,因为它 所以 不同于大多数传统的业务数据处理和/或嵌入式计算。 我会确保你已经很好地了解了汇编代码的背景。大多数程序编码器不用于机器指令、寄存器、地址模式和指针。如果你得到这些,教练很可能会很好地解释剩下的。 如果你不习惯指点,那么 运行 不要走到离你最近的C编译器那里,写一些使用它们的程序。 有关编译器不是什么的一些背景,请参见 Writing compilers ... what's right and what's wrong? 如果你想要一个真正有趣的练习,你可以学习关于metaii的知识,这就是 构建一个编译程序,它用非常小的工作量构建一个编译程序。有一篇10页的关于如何做的论文 在这中间有一个激动人心的时刻,你突然看到 编译器可以编译自己。有一个metaii教程(与论文)在: |
|
|
3
2
这个 dragon book 通常是强烈推荐的。 |
|
4
0
第一次有人向我解释编译时,我惊讶于它是如何根植于约定之中的。在编译过程中总是有相同的高级阶段,在子任务中有相同的划分。 回首往事,其中一些 是 有点武断。编写一个编译器是很困难的,并且重新应用在过去为无数其他人工作过的技术确实是一个好主意。但根据你的背景,你可能一开始会感到惊讶的是,所有的东西都不像在计算机科学的其他领域那样自然地从基本原理出发。 |
|
|
George S. · 是否存在基于元组的控制流语句内部表示? 8 年前 |
|
FlatAssembler · 在x86程序集中计算exp(x) 8 年前 |
|
|
cib · 即时编译和动态编译有什么区别? 8 年前 |
|
|
Artemis · 寄存器与指令之间的差异 8 年前 |
|
|
Sam · 了解go工具编译和链接命令 8 年前 |