[問題] 請問C介面跟實作分開的作法

作者: DIE755127   2018-04-27 22:05:30
通常一般的習慣a.c會去include a.h
a.c是實作內容 a.h是介面宣告
b.c只需要include a.h就可以使用a的function
但實際上把a.c include a.h的內容拿掉
編譯過程link也不會發生問題(雖然這樣看起來a.c跟a.h就沒有直接關連)
當然如果a.h內還有定義一些struct或常數會被a.c用到
include a.h就是必須的
不過在不考慮上述的情況下
是否a.c要不要去include a.h只剩下coding習慣的問題?
編譯過程上沒有任何差別?
第二個問題是
去include一個.c檔是絕對必須避免的嗎?
有甚麼情況下是必須要這樣做?(因為有看到有人這樣寫 但覺得不太合常理)

Links booklink

Contact Us: admin [ a t ] ucptt.com