學習與思考
我們在學習語言特性、系統編程等知識的時候,經常會有看著後面忘了前面,感覺記住了但是過幾天就忘記的情況。究其原因,我認為是我們對知識點的學習只是以[旁觀者]的身份來進行的:看書、看別人的博客、看視頻等等,只知其然而不知其所以然,只學習分散的知識點而沒有歸納成有關聯的整體,只知道遇到什麼問題應該用哪種固定方式解決而不知道問題為什麼會出現、為什麼要這麼做。而要想真正的掌握這些知識,我們要向[參與者]的身份轉變:看到結論時要寫代碼驗證、看到解決方法時要想為什麼這麼做、學習新知識點時要和已知的信息做結合。這樣才能高效的學習並快速提升,才能用知識彌補實戰的不足——即使我們經歷的項目可能不多,但依然能夠通過思考和練習提升技能。因此本人在寫系列筆記時盡量聯系之前的知識,做出對比和總結;寫下結論時盡量通過代碼驗證,希望每個閱讀的同行都能有所收獲,而我自己也能以此作為灘頭陣地,進一步提升自己的思考能力、鞭策我更加勤奮的前行。
關於系列文章
該系列文章結構主要參考《Linux系統編程》一書,由於側重點與知識結構不同,原書的部分章節有合並或刪除,而有一些章節則會根據網上資料或其他書籍做新增,代碼部分也是這樣,引用較多的知識點或有較好的擴展內容的文章會給出出處。這系列文章相當於是基於《Linux系統編程》這本書的結構,對其中內容做提取和擴展。
章節概要
簡介和主要概念——Linux系統編程的概念以及重要的基礎知識
地址:/content/24588534.html
文件I/O——Linux為文件操作提供的相關系統調用,這些是文件操作的基礎。此外還有32位操作系統下大文件讀寫支持以及非常重要的I/O多路復用技術
地址1:/content/24588533.html
地址2:/content/24588532.html
緩沖輸入輸出——除了系統提供的系統調用外,標准庫也提供了具有用戶態緩沖區的文件操作系列函數
地址1:/content/24588531.html
地址2:/content/24588530.html
高級文件I/O——追求高效率是C/C++開發者重要的目標,這章主要介紹改善select()/poll()的替代方式、更高效的文件讀寫方式等。
地址1:/content/24588529.html
地址2:/content/24588528.html
地址3:/content/24588527.html
持續更新中…如果感到有趣請收藏或關注:D