看板 C_and_CPP 關於我們 聯絡資訊
從2009年開始學C以來,接著接觸Linux,一直有一個聲音在說C語言也是可以寫物件導向 的,所以後來對於只要書有提到這樣的主題,我都會直接買下來。但因為工作上及學習上 有更多別的事要處理,比如工作做比較底層的螺絲釘之類的,一直沒有正視這個問題。 大家都說Linux整個就是用物件導向寫的,但是裡面那些技巧是對應什麼樣的概念,一直 有一種很像什麼又說不上來,就覺得怎麼沒有人可以說的明白,可能高手都早就心領神 會了,我這平凡人還是希望有人可以指引一條明路。 我之前有看到,在下列書單有提到這個主題的: 1. 現代嵌入式系統開發專案實務 2. Making Embedded Systems 3. 系統程序員成長計劃 4. 嵌入式Linux上的C語言編程實踐 5. 物件導向 ANSI C 語言-如何寫物件導向 C 程式 6. Clean Architecture 以上的書單,5曾經買過,但覺得不是我要的,後來售出。 裡面寫的最詳盡的是4,然後我最近看到6突然矛塞頓開, 所以針對4與6統整了一下,寫了相關的文章如下,分享一下: https://wjungle.blogspot.com/2023/08/c.html -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.251.46 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1693272241.A.EF4.html
loadingN: 用struct去封裝啊 08/29 11:19
EijiHoba: Struct可以指定Public/Private/Protect嗎? 08/29 12:07
stupid0319: 用static function 讓其他.c看不見不就好了 08/29 14:58
sarafciel: 欸斗,你的struct defination塞在.c裡,那如果要按你 08/29 15:07
sarafciel: 第二篇的方式對這個struct做繼承,然後再拿裡面的成員 08/29 15:07
sarafciel: 變數來用要怎麼辦呢? 08/29 15:07
johnjohnlin: 那就不是private啊 08/29 17:05
Dinowchang: 簡單來說,語法本身沒支援,實現全部靠腦補。 08/29 18:43
Richun: 我自己用C實作模擬OO的心得是,這東西還是搞一半就好。 08/29 19:58
Dracarys: 乾脆自己做cfront了 08/29 20:13
mrgyt1030: 寫著寫著就變C++了 08/29 20:15
tinlans: 這東西不是幾十年前侯捷就秀過一波了? 08/29 20:36
JFLung9536: 我寫過不會很難 08/29 21:42
JFLung9536: 動態建立實體元件也是做的到的 08/29 21:43
manmay: zzzz... 08/29 22:29
fishxd1096: 試著用C寫個linked list操作,應該就懂了 08/29 23:06
alex70266: 找object-oriented programming with ansi-c 的pdf,啃 08/30 17:18
alex70266: 一下英文就是了 08/30 17:18
alex70266: private public沒有這麼直觀,要參考的話可以看kernel 08/30 17:23
alex70266: driver怎麼封裝各介面私有資料 08/30 17:23
wulouise: 放在.h的都是public,其他都是private,user只有opaque p 09/02 18:36
wulouise: tr,但是非lib通常不會切這麼清楚 09/02 18:36
sunneo: kernel: priv_data 09/11 12:26
ichunlai: https://www.state-machine.com/oop 09/11 20:12