PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] C語言模組化的基礎問題
作者:
pride829
(竹鼠)
2017-05-17 23:46:59
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
DevC++
問題(Question):
heyGuys,我是一個C語言的菜鳥,目前我正照著資結書本上所教的嘗試建立一個自己的
LinkedList函式庫。我想盡量做到模組化,我對繼承、多型等有基礎的認識,但C好像沒
這些東西。因此我目前如果要新增一個function,我的作法是:
新增boo.h (裡面有ifndef,還有function的prototype)
新增boo.c (#include函式庫,實作)
然後在另一個統整的header file中 (目前的情況是linkedList.h) #include所有
functions
http://imgur.com/a/cU6Gg
然後在別的地方#include "linkedList.h"
只是這樣做真的很累,而且我也擔心這樣瞎子摸象的方式是否有缺陷/隱藏的危險等等,
請問是否有更好的方法在C語言中做到模組化?
作者:
james732
(好人超)
2017-05-18 00:56:00
把所有function放在header還挺奇怪的header應該是描述最小程度的interface才是
作者:
pride829
(竹鼠)
2017-05-18 01:47:00
那請問應該要怎麼做呢?
作者: chiwa (我是青蛙,不是王子^_^)
2017-05-18 07:59:00
其實你模組化過頭了,不需要每個function自己一個檔案如同1樓所說,header中描述的是你的API,需要讓外人知道的的部分,模組內部專用的變數或函數,你可以隱藏起來
作者:
chuegou
(chuegou)
2017-05-18 09:07:00
給你一個推 這部分可以看些如何用c語言實現oop的文章
作者:
iLinux
(艾林尼克斯)
2017-05-18 10:58:00
分享之前看到的opp in c實作,一樣也是寫list,
https://gi
thub.com/QMonkey/Object-Oriented-C
https://github.com/QMonkey/Object-Oriented-C
作者:
Killercat
(殺人貓™)
2017-05-18 11:19:00
C要有類似繼承的東西的話 參考C2Lib不過說真的C天生設計上就不太適合玩這個...
作者:
pride829
(竹鼠)
2017-05-18 14:06:00
感謝各位的回覆 我研究看看!
作者:
TobyH4cker
(Toby (我要當好人))
2017-05-18 14:53:00
我想說C語言...繼承...?
作者: DonaldTrunnp (The US President)
2017-05-18 17:59:00
https://github.com/kevin-dong-nai-jia/OpenGC3
這個一個可行的 C 語言 list 實作包含繼承以及多型
繼續閱讀
[問題] 想一題作業想很久
ptt0720
[問題] logic shift 操作,結果與預期不同
OoShiunoO
[討論] (解決)有關於MinGW編譯器,-static -lib
hpyhacking
[問題] 用eclipse查閱C++ STL的原始檔
tortoise
[問題] 擲回未處理的例外狀況: 讀取存取違規。
chingyue
Re: [問題] 程式比賽要能看懂題 英文要多好?
ga544523
[問題] qt 無邊框視窗移動lag問題
checkIO
[問題] 堆疊已損毀
mario86123
Re: [問題] 避免「變數名稱」衝突「class名稱」
descent
Re: [問題] class判斷問題
loveflames
Links
booklink
Contact Us: admin [ a t ] ucptt.com