[请益] C 语言 Design pattern用书

楼主: ericerix (Ponwar)   2023-06-15 00:17:08
如题
工作上最常碰到 C 语言
想请问有无 C 语言相关的 coding 用书,
像增进自己的 coding 实力与品质,谢谢!
作者: ghost90331 (Yang)   2023-06-15 01:48:00
Guru
作者: saxontai (黑暗,点缀孤零零的星)   2023-06-15 02:21:00
作者: eva19452002 (^^)   2023-06-15 06:36:00
有gpt,你不用再买任何一本书
作者: Inglenook (城市苦守)   2023-06-15 08:28:00
C不OO 写design pattern会很痛苦吧
作者: shooter555 (shooter)   2023-06-15 09:45:00
就一样看c++的书吧 反正通用 只是C很多东西要自己刻是不知道有没有书是在教用C写OOP 要不然就是拿linuxkernel出来看
作者: final01 (牛顿运动定律)   2023-06-15 10:16:00
你有先问chatGPT吗
作者: knme (knem)   2023-06-15 10:24:00
提升code品质看纪律 可以看clean code/软件工程
作者: dryman (dryman)   2023-06-15 10:32:00
21st Century C
作者: Apache (阿帕契)   2023-06-15 11:16:00
改用Rust就是最好的pattern
作者: descent (“雄辩是银,沉默是金”)   2023-06-15 11:40:00
C专家编程, C陷阱与缺陷C语言接口与实现:创建可重用软件的技术C语言程序设计:现代方法(第2版‧修订版)
作者: nicepeter (批特)   2023-06-15 11:42:00
同样疑虑,C没有物件导向,做design pattern有部分方法没办法实现,考虑用C++或Java吗?
作者: henrylin8086 (小木)   2023-06-15 12:12:00
还在用C的工作应该有其独特性,应该不是那么好转语言
作者: shooter555 (shooter)   2023-06-15 14:10:00
C oop的三定义都能做到阿 是哪种方法不能实现?用strust + function pointer 再把strust pointer定义转换做封装
作者: buffalobill (水牛比尔)   2023-06-15 15:12:00
手刻virtual table啊...
作者: HuangHedaz (Hedaz)   2023-06-15 17:24:00
用c可以实现OO喔void * object = (struct XX *)malloc(sizeof structXX)
作者: NTUmaki (西木野真姬)   2023-06-15 17:37:00
Coding style 可能可以看 linux kernel?
作者: leewei05 (抠抠)   2023-06-15 17:57:00
推 jserv 大大整理的 你所不知道的 C 语言不过里面的内容很多都会建议去看 C 规格书 XD
作者: prag222 (prag)   2023-06-15 20:55:00
都AI写CODE了还在人工clean code校史
作者: steviewonder (SW)   2023-06-15 23:05:00
你所不知道的C语言 +1Linux核心设计CSAPP
作者: Arbin (路人_Lv菜逼八)   2023-06-16 04:07:00
如果是像Java那种private、public之类的碗糕C的确没有,应该说做起来很不确实
作者: IhateOGC (我讨厌)   2023-06-16 10:25:00
C别闹了,现在linux kernel都在改语言了
作者: steviewonder (SW)   2023-06-16 10:56:00
很好奇说C别闹的都写什么?
作者: j0958322080 (Tidus)   2023-06-16 11:19:00
C 全都是 public,应该没办法实作 private?
作者: qwer338859 (温莎公爵)   2023-06-16 11:46:00
不是写rust吗
作者: shiaoGG   2023-06-16 12:52:00
建议老板汰换掉这种过时的语言才是最佳解
作者: sipper   2023-06-16 13:55:00
老板淘汰员工机率>>>>淘汰语言
作者: askacis (ASKA)   2023-06-16 14:14:00
一大堆open source都C写的,还淘汰C咧XD至于linux kernel,rust也只用在device driver等级的code
作者: HuangHedaz (Hedaz)   2023-06-16 14:25:00
一般来说,程式语言的选择是根据要写什么产品…。
作者: Bencrie   2023-06-16 20:04:00
kernel module 支援用 rust 跟 kernel 改语言?再想想
作者: wulouise (在线上!=在电脑前)   2023-06-17 19:47:00
design pattern跟语言关系不大吧,要做都是可以楼上说的好像比较常指称pimpl?
作者: SuperTaco (TO-FU OYAKO)   2023-06-17 21:06:00
c虽然不是不能写oo但是真的很没必要,想写oo跟designpattern的话用适合的语言写会比较好
作者: pttano (pttano)   2023-06-18 12:34:00
C没有物件导向?可怜喔不会C就说咩
作者: pacino (carry me)   2023-06-18 15:38:00
我也觉得Linux kernel是最好的教科书。
作者: Kimheeche (Kimheeche)   2023-06-19 09:37:00
Linux kernel很多物件导向,请看usb driver
作者: wsad50232 (阿丰)   2023-06-21 11:59:00
楼上不要曲解 看到什么都说是OO
作者: shooter555 (shooter)   2023-06-21 14:40:00
C 可以做private 内外用的strust 定义不同 使用同一个pointer就好 把所有的function pointer当界面放在上段再把private内容放在下段 传出去的strust 只定义上段这样在其他的地方使用这个strust 就只能使用上段的public 函式 而下段的就当作private只能在内部被看到
作者: HowLeeHi (处处留心皆正妹)   2023-06-21 18:26:00
请问楼上大大可以写个example吗?thanks!
作者: balista (old man)   2023-06-21 19:38:00
加上 static, 另外是 struct, 不是 strust
作者: adamkk (爱还记得吗)   2023-06-24 12:31:00
给楼上上,先给连结参考https://ppt.cc/fTcrSx透过G_DECLARE_DERIVABLE_TYPE及G_DEFINE_TYPE_WITH_PRIVATE两个API将物件定义成衍生类别及含有private attrbutes
作者: Bencrie   2023-06-26 09:25:00
gobject ... 啊我头好痛 XD
作者: shooter555 (shooter)   2023-06-26 17:08:00
范例推文打不下 google一下 C的物件导向应该就有简单说 例定义struct _A { struct A }; 在.c档 然后定义struct A { actions } 在.h档, 那外部引用这个struct 的只能看到A的内容而看不到_A的内容, 那将A放在_A的开头 两者的pointer位址会相同 在利用C型态转换没有保互的特性 在外面引用的地方将A 传入动作函式内 在函式内在将A 转换成_A来使用_A的内容 就能得到A内属于public 而_A内属于private的特性
作者: HowLeeHi (处处留心皆正妹)   2023-07-04 19:33:00
感谢a大跟s大
作者: DCC1609 (顶扣扣)   2023-09-20 21:19:00
物件导向的概念在C++出现前就有了 C可能怎么会不能做oop

Links booklink

Contact Us: admin [ a t ] ucptt.com