看板 C_and_CPP 關於我們 聯絡資訊
各位大大好: 小弟最近在寫嵌入式的中小型程式 (2000~5000 行) 但是深深覺得寫起來感覺很亂 function 滿天飛 不像 C++ 或 Java 有 class 物件導向的特性 寫起來脈絡比較清楚 由於有用到系統 Lib 跟 FreeRTOS 全面用C++改寫會很多問題 所以只能在既有的 ANSI C / C99 做開發 剛好發現 OOC (Object Oriented C) 這個東西 乍看之下好像很美好 struct 、 function pointer 包裝一下 就能模擬基本的 class 功能 再上去繼承、多型聽說會有些問題與限制 不過我也很少用 所以沒差 想請 OOC 這種寫法在業界有人在用嗎 ? 會不會有什麼後遺症、隱憂 ? 感謝回答 ps. 整個 project 算是獨立新系統 無歷史包袱 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.40.214 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1444151898.A.DD4.html cory8249:轉錄至看板 Soft_Job 10/07 01:21
uranusjr: 確實有人在用, 尤其除了繼承和多形的部分還滿廣泛的 10/07 09:09
uranusjr: (我說的是概念上廣泛, 不是 OOC 這個語言廣泛) 10/07 09:10
uranusjr: 我是覺得不一定要 depend 這個語言, 只要拿概念來用就好 10/07 09:12
ronin728: C語言有適合自己的編程泛式,個人建議不要拿JAVA那種 10/07 11:47
ronin728: Class-based OO 來寫 C 程式,這樣只會越搞越麻煩 10/07 11:50
ronin728: 畢竟每個語言都有適合自己的風格。不過C語言也會用到 10/07 11:51
ronin728: 很多 OO 的概念,不過 C 的寫法就是 struct + function 10/07 11:51
ronin728: 只做簡單的介面設計與資料封裝就好。 10/07 11:53
ronin728: BTW,繼承多型不一定是OOP很重要的東西,詳見Rust與Go 10/07 11:57
ronin728: 還有那些模仿JAVA的C語言OOP用法會把Funtion pointer 10/07 12:08
ronin728: 放在Struct裏,不知道你用的硬體夠不夠開銷這些記憶體? 10/07 12:09
soheadsome: gtk+那種嘛....很恐怖... 多形就變成強制轉型 10/07 13:44
james732: 要不要參考一下chromebook的ec寫法?XD 10/07 14:23
ah7675: kernel code差不多就是這種概念 但沒有強套OO的特性 10/07 23:46
yshihyu: ec哪部份的寫法? code 很大,, 有具體的範圍嗎? 10/08 20:56
xvid: 用檔案.c做分類?剛好也可用來作scope控制 10/09 13:54
damody: 超實用的 10/09 17:00
damody: gcc沒差 其它編譯器就寫簡單一點 10/09 17:01
ronin728: 樓上好兇喔 你當這邊八卦版嗎 幫補血 10/10 02:03