Hi all 目前正在豬屎屋工作,仍處在讀書的階段, 每次在讀前輩們的 Code ,心裡都會想“這種 Code 我大概寫不出來” QQ,或者是硬體相關知識不太明白, 比方說為什麼要設 memory barrier 這些, 甚至是 Linux 的 READ_ONCE 也是我工作之後才知道 如何讀 Register、cache 的操作等等 還有上層設定 HAL 層的函式、設 callback 等等。 因為不同的平台可能用到的 hardware 不一樣,而程式碼要去能夠去編譯給不同的平台 因此上層跟 HAL 層要切的很開,而目前讀的程式碼確實辦到了 要是我來寫肯定只會用 define 去包QQ 大概看得懂是用函式指標去包跟傳 callback,但真的要我寫可能有困難 想問版友有沒有推薦的書籍? 簡單來說,就是硬體知識 + 如何寫出好 C code。 目前有兩本在我的名單內: 1. 21世紀 C 語言 2. 程序員的自我修養 2. 我看一下目錄,我大概都懂,不曉得還需不需要買來看; 前者感覺偏向 C 語言的部分,讀了應該對我有幫助,但關於硬體部分我還是沒頭緒(控 register、cache、CMOS) 再請大大推薦書籍了,謝謝 ----- Sent from JPTT on my Samsung SM-M536B. -- ※ 發信站: 批踢踢實業坊(ptt-site.org.tw), 來自: 114.25.51.184 (臺灣) ※ 文章網址: https://ptt-site.org.tw/Soft_Job/M.1673084181.A.222
noahleft: 很多東西只看書也很難學會,通常是剛好碰到這種情況然 01/07 17:45
noahleft: 後才去找對應的資訊 01/07 17:45
noahleft: 程序員的自我修養我有,但很多細節真的是遇到了才會理 01/07 17:46
noahleft: 解 01/07 17:46
e12518166339: 如果單純的想應徵一般新人的韌體開發,應該可以不 01/07 18:18
slot365: 覺得包養網EY嗎 01/07 18:18
e12518166339: 用這麼焦慮,你問的這個很多人即便已經工作三年可 01/07 18:18
e12518166339: 能也不懂,如果真的那麼焦慮,那就好好寫學校作業, 01/07 18:18
e12518166339: 有多餘的時間就把csapp的lab拿來做做看 01/07 18:18
OriginStar: Intel® 64 and IA-32 Architectures Software 01/07 18:38
OriginStar: Developer Manual,到Intel網站就可以下載了。我早期 01/07 18:38
colortea: 包養網站葉配啦 01/07 18:38
OriginStar: 大概國高中時有買本Intel 8086指令集的書,簡單說就是 01/07 18:39
OriginStar: 講解電腦是如何運作,然後可以透過什麼指令讓電腦做什 01/07 18:40
OriginStar: 事,例如透果某中斷讓電腦發出逼聲,當然早期電腦是比 01/07 18:41
OriginStar: 較簡單的 01/07 18:41
undersky: 演員的自我修養(X 01/07 19:19
glenber: 記者收了包養網多少啦 01/07 19:19
enthos: ARM有一本超好的舊書是這本嗎? Arm System Developers 01/07 19:23
enthos: Guide: Designing And Optimizing System Software 2004 01/07 19:23
RouterHsieh: 不介意看英文的話我覺得CSAPP應該蠻有用的XD 01/07 20:04
loadingN: 白嫖LWN.net 01/07 20:48
menesn: Design Pattern 01/07 22:14
Kimbel: 包養真亂 01/07 22:14
Gaogaigar: csapp 其實介意英文也有簡體版 01/07 22:53
Hsins: CSAPP 的本體是作業 01/07 23:08
Lipraxde: 硬體知識喔...在學校學到的如果能應用到工作中,配合內 01/07 23:15
Lipraxde: 部的文件,應該就很夠用了吧? 01/07 23:15
deflife: jserv的課 01/08 00:32
tale1890: 演藝圈一堆包養好嗎 01/08 00:32
leoloveivy: 看書不如在可接受的時間多包一些issue來解也可以提升 01/08 00:54
leoloveivy: 又有錢 01/08 00:54
leoloveivy: 好像有一本簡體嵌入式還行啦 01/08 00:55
twicm: Memory barrier 需要讀一下 ISA 關於MMU 的部分和指令集 01/08 01:04
twicm: 裡barrier 相關的指令,再配合應用的場景 01/08 01:04
waterway: 政治圈一堆包養好嗎 01/08 01:04
OriginStar: https://imgur.com/sRT1HBZ 01/08 10:27
OriginStar: https://imgur.com/G6lq5NJ 01/08 10:28
OriginStar: 貼圖是Volume 3A: System Programming Guide 01/08 10:29
OriginStar: 與Volume 1: Basic Architecture 一部分內容 01/08 10:30
OriginStar: 如果原PO的疑問是為何要使用某個指令,可以去K一些CPU 01/08 10:30
mark1888: 有錢人一堆包養好嗎 01/08 10:30
OriginStar: 發展的書籍或文章 01/08 10:33
jj0321: https://imgur.com/2d6z03y 01/08 11:09
bnd0327: 已經進去了就不用自己嚇自己,都是人寫出來的扣 01/08 11:40
hackfox: 你這症頭多code review幾遍就好了,你要的不是學習,而 01/08 12:18
hackfox: 是經驗 01/08 12:18
Quaranta: 學生妹被包養多嗎 01/08 12:18
GoalBased: 你學數學的時候 問題就不出來是多看幾本書 還是多寫幾 01/08 12:50
GoalBased: 次 01/08 12:50
dmeiki: Jserv的課。 01/08 13:30
jasonwung: memory barrier可以參考這個#1WzRShDV (C_and_CPP) 01/08 22:15
a27417332: 推樓上,其實那些東西基本原理就是學校教過的 01/09 02:39
schlemm: 亞洲最大包養網上線啦 01/09 02:39
a27417332: 忘記的話可以去找一些計算機結構的課程來補 01/09 02:41
brightest: Arm architecture reference manual 01/09 07:52
leolarrel: 為什麼這樣程度的人可以在豬屎屋工作? 01/09 09:52
gR7P4zXH: 樓上粗暴 01/09 11:07
newking761: 因為現在沒得挑人啊 01/09 12:16
Wirol: 我哥上包養網被我抓包.. 01/09 12:16
pacino: 好奇,有人在學校學的可以無縫接軌? 01/09 12:18
NCTUFAIWEN: callback寫法就只是經驗而言,直接複製貼上也可以動 01/09 12:19
NCTUFAIWEN: cache知識如果薄弱成這樣的話...應該回去K計組吧== 01/09 12:20
labbat: 怎麼沒有人提risc-v 01/10 00:31
snaketsai: xv6 RISC-V book 01/10 22:00
marecht: 有人包養過洋鬼子嗎 01/10 22:00
lovebridget: 不重要 都是by case 就照那包code寫法寫就對 01/10 23:49
lovebridget: 工作大部分都改值而已 不應該也不可以大改 01/10 23:50
lovebridget: 你去問寫的前輩 假設還沒離職 多半也照著寫而已 01/10 23:52
labbat: 連編譯工具都傳10年同版本沒有變,變革是應該的 01/11 00:45
OnlyRD: 不就基本的Linux kernel development & LDD3 看一 01/11 21:15
riokio: 有錢人為啥都想包養 01/11 21:15
OnlyRD: 遍概念就都有了 01/11 21:15
OnlyRD: ?細節的部分你就google一下就好啦,網路上一堆論 01/11 21:15
OnlyRD: 壇跟分享。剩下 01/11 21:15
OnlyRD: 硬體相關要深入,spec拿出來k,都有寫,懶一點至少 01/11 21:15
OnlyRD: application o 01/11 21:15
wiimas: 有人被洋鬼子包養過嗎 01/11 21:15
OnlyRD: r development guide要看啊。 01/11 21:15
askacis: Linux kernel 是你最好的老師 01/20 12:38