我当前学习的路线供参考
一
- Computer Systems: A Programmer's Perspective
- Crafting Interpreters (替代 自己动手实现 Lua 虚拟机、编译器和标准库)
- 程序员的自我修养:链接、装载与库(替代 上面的 CSAPP )
二
- 清华大学的《数据结构( C++ 语言版)》邓俊辉(看了一部分,很棒!)学习中
三
- **南京大学 软件分析 [**
https://tai-e.pascal-lab.net/**](
https://tai-e.pascal-lab.net/) 国内顶级的静态分析课程,最近看完了所有的视频,也完成了 OJ 作业,非常棒的课程**
- Compilers: Principles, Techniques, and Tools (以下几章可以算是上面的软件分析的下一步学习的扩展)
- 6.2 Three-Address Code
- 8 Code Generation
- 9 Machine-Independent Optimizations
- 12 Interprocedural Analysis (还没开始看)计划待看
- CS 6120: Advanced Compilers γ
https://www.cs.cornell.edu/courses/cs6120/2020fa/ 看了一半搁置了
四
- **LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries 上手 LLVM 前一定要看**
-
https://github.com/banach-space/llvm-tutor 学习中
- Learn LLVM 12: A Beginner's Guide to Learning LLVM Compiler Tools and Core Libraries With C++
其他参考
- [编译高级教程|学习笔记]( https://leiblog.wang/%E7%BC%96%E8%AF%91%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B%EF%BD%9C%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/)
- [2019 EuroLLVM Developers’ Meeting: V. Bridgers & F. Piovezan “LLVM IR Tutorial - Phis, GEPs ...”]( <amp-youtube data-videoid="m8G_S5LwlTo" layout="responsive" width="480" height="270"></amp-youtube>)
- [Creating the Bolt Complier 系列](
https://mukulrathi.com/create-your-own-programming-language/intro-to-compiler/)