看板 C_and_CPP 關於我們 聯絡資訊
推薦書目名稱或網址 linux c 編程 一站式學習 適合閱讀此書或網站的程度/對象 初學者 簡介 在 linux 上學習 c 語言的書 讀後心得 inux c 編程 一站式學習 60 ( https://goo.gl/XB8C2c ) 20111212 購於台南若水堂, 60X6 = 360 nt。 市面上有好多好多的 C 語言書籍 (當然還有 c++, 而且很多內容都很類似), 我已經有了 The C Programming Language, 還需要其他的嗎? (還真的需要) 實際上我的 C 語言書籍不多, 大部份是 C++ 相關書籍。我大多是從 c++ 書籍上順便學習 c。這本書能吸引我的目光是因為作者提到了匯編 (組合語言) 與 C 關係, 詳細解釋了 crt.o 和組合語言之間的關係, 還有 linker 的東西, 這對我來說可是如獲至寶, 只因為三個章節的內容 (17, 18, 19), 我就買了, 書中應該超過一半是我已經知道的東西吧! 不過令一半的東西很重要, 我訝異我自己竟然不知道。這三章的內容是作者參考 programming from the ground up 來的。 而程式設計師的自我修養 ( http://goo.gl/sqUf81 )比較詳細。 買回家細看之後, 比我想的更值回票價, 書中提到的 c99, 讓我對有些 c99 語法有了概念, 原來某些我不太理解的語法是 C99 的用法。 第 14 章在說明 c 語言複雜的轉換規則, 有 Usual Arithmetic Conversion, Integer Promotion, 再去看 c 規格書應該會容易些。 你知道 0 - 1 的 0 和 1 是 int 還是 unsinged int type 嗎? c 語言規定了繁複的轉換規則, 0 和 1 會被轉成 int 再做減法, 所以結果是 -1 而不是 4294967295, 14.3 是這章的精華, 得花點腦筋才能吸收, 坦白說, 這對初學者實在太深, 有個印象就好, 知道有這回事, 儘量不要處碰到這些悔澀的的地帶。 p174 有個表在說明 IPL32, PL64 這個術語。 I: int L: long P: pointer 15.3 介紹了 side effect, sequence point, 就是 a = a++; 這種煩人的東西。 而第 17 章 - x86 匯編程序基礎 (組合語言基礎), 讓人受用, 藉由 readelf 讓我得知 obj 和 elf 執行檔案的內容, 雖然只是短短的一章, 需要不少腦力, 若在書店看, 得好好找張椅子慢慢消化, 買回家讀還是舒服些。 內容和程式設計師的自我修養 - 連結、載入、程式庫很類似, 不過提到的東西比較少。若看的吃力, 那讀程式設計師的自我修養可能會難了點。 chapter 18 從 c runtime crt*.o 開始, 分析這些 .o, 當然要出動 objdump。 在分析變數是怎麼儲存在記憶體、執行檔裡頭以及 bss, 我認為這個有點難, 看不懂對於學習 c 不成問題, 但搞懂會為你的功夫打下基礎, 再也沒有任何事情可以難倒你。 volatile 的解釋也很棒, 用反組譯來帶你理解這個關鍵字, 可不是沒感覺的文字描述而己。 chapter 19 詳細解釋 linker 的行為, 對於初學者這太難了。看不懂先跳過吧! 我都搞不清楚這到底是入門書還是進階書了。 chapter 21 講述 makefile 讓我對 make 有了另外的認識, 我覺得很受用, 書上提供了 gcc -MM 的 makefile rule, 在大型程式中很好用。 23.6 介紹了不定個數的參數, 就是 printf 的參數用法, 可不是單純講解 va_ 那 3 個 function, 還自己實作這三個 function, 又是有點難的小節。 chpater 24 介紹了 c 標準程式庫, 還介紹了 man page 的看法。 附錄 A 講述 unicode, utf8 編碼, 短短的篇幅卻給了很基本的觀念。 官網 (作者宋杉開放這本書, 本書可在這裡取得電子版本, 這真是不簡單): http://songjinshan.com/akabook/zh/index.html old version: http://akaedu.github.io/book/ 補充說明(Supplement): -- 錢要是不花, 它就是紙。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.98.177.194 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1461329232.A.471.html ※ 編輯: descent (175.98.177.194), 04/22/2016 20:54:47
james732: 好像不錯,推 04/22 20:56
phishingphi: learn.akae.cn 那個連結看起來是死的(? 04/22 21:30
我刪除那個無效的 url
wtchen: 推好文 04/22 21:33
※ 編輯: descent (175.98.177.194), 04/22/2016 21:37:17
Thisisnotptt: 推 作者真佛 04/22 23:42
soheadsome: 這本真的很讚 04/23 12:01
kyuudonut: 我還在ELF,我好弱QQ 04/23 21:09
HowLeeHi: 這2本真的是好書 05/05 15:52