楼主:
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:00Struct可以指定Public/Private/Protect吗?
用static function 让其他.c看不见不就好了
欸斗,你的struct defination塞在.c里,那如果要按你第二篇的方式对这个struct做继承,然后再拿里面的成员变量来用要怎么办呢?
作者: 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了
作者:
tinlans ( )
2023-08-29 20:36:00这东西不是几十年前侯捷就秀过一波了?
作者: manmay (书诚) 2023-08-29 22:29:00
zzzz...
试着用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:00kernel: priv_data
作者: ichunlai (^_^) 2023-09-11 20:12:00