995 views
owned this note
# C/C++
###### tags: `MCL Notebook` `language` `c/c++`
# 推薦書籍
* [程序员的自我修养—链接、装载与库](https://github.com/Jessicahust/books/blob/master/程序员的自我修养—链接、装载与库.pdf):
* 主要是針對C語言編譯時候的行為,以及其和OS運作的關係,加以解釋,例如:C語言變數在虛擬記憶體中擺放的位置。
* 一些Debug工具示例,例如`objdump`, `readelf`
# 推薦影片
[^feislee]:
feislee 有一系列的 C/C++ [教學影片](https://www.youtube.com/user/feislee),很入門的內容,對於完全不會任何程式語言的人還算蠻清楚的
[^jserv_hackmd]:
jserv 在 HackMD 上有一系列的 C/C++ 的[教學](https://hackmd.io/s/HJpiYaZfl),針對目前大多數認為已經熟悉 C/C++ 語言的人,卻仍然有許多不了解的內容,使得在學一些進階的內容時(如: linux kernel)很有障礙
[^jserv_youtube]:
jserv 的教學內容有提供課程[影片](https://www.youtube.com/channel/UCIm-u7l65hp5jboSJrB7U5w)
# 推薦網站
* [阿拉斯加大學 組合語言 教學網站](https://www.cs.uaf.edu/2009/spring/cs641/lecture/01_27_encoding.html):
* 是一連串的課程資源,可以一篇一篇刷下去
* 比較了幾種不同的組合語言,如:x86, Mips, PowerPC,但主要還是針對x86組語