Re: [分享] 物件導向 in C

作者: wjungle (俺)   2023-08-29 09:23:58
從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
作者: loadingN (sarsaparilla)   2023-08-29 11:19:00
用struct去封裝啊
作者: EijiHoba (我要好工作)   2023-08-29 12:07:00
Struct可以指定Public/Private/Protect嗎?
作者: stupid0319 (徵女友)   2023-08-29 14:58:00
用static function 讓其他.c看不見不就好了
作者: sarafciel (Cattuz)   2023-08-29 15:07:00
欸斗,你的struct defination塞在.c裡,那如果要按你第二篇的方式對這個struct做繼承,然後再拿裡面的成員變數來用要怎麼辦呢?
作者: johnjohnlin (嗯?)   2023-08-29 17:05:00
那就不是private啊
作者: Dinowchang (Dinow)   2023-08-29 18:43:00
簡單來說,語法本身沒支援,實現全部靠腦補。
作者: Richun (解放左手的OO之力)   2023-08-29 19:58:00
我自己用C實作模擬OO的心得是,這東西還是搞一半就好。
作者: Dracarys (MayShowGunMore)   2023-08-29 20:13:00
乾脆自己做cfront了
作者: mrgyt1030 (Young)   2023-08-29 20:15:00
寫著寫著就變C++了
作者: tinlans ( )   2023-08-29 20:36:00
這東西不是幾十年前侯捷就秀過一波了?
作者: JFLung9536 (立月小蛇)   2023-08-29 21:42:00
我寫過不會很難動態建立實體元件也是做的到的
作者: manmay (書誠)   2023-08-29 22:29:00
zzzz...
作者: fishxd1096 (UN_ReAL)   2023-08-29 23:06:00
試著用C寫個linked list操作,應該就懂了
作者: alex70266 (小眼)   2023-08-30 17:18:00
找object-oriented programming with ansi-c 的pdf,啃一下英文就是了private public沒有這麼直觀,要參考的話可以看kerneldriver怎麼封裝各介面私有資料
作者: wulouise (在線上!=在電腦前)   2023-09-02 18:36:00
放在.h的都是public,其他都是private,user只有opaque ptr,但是非lib通常不會切這麼清楚
作者: sunneo (艾斯寇德)   2023-09-11 12:26:00
kernel: priv_data
作者: ichunlai (^_^)   2023-09-11 20:12:00

Links booklink

Contact Us: admin [ a t ] ucptt.com