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

看板Programming作者時間6年前 (2018/04/27 22:05), 編輯推噓3(306)
留言9則, 3人參與, 6年前最新討論串1/1
通常一般的習慣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檔是絕對必須避免的嗎? 有甚麼情況下是必須要這樣做?(因為有看到有人這樣寫 但覺得不太合常理) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.233.122 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1524837932.A.98F.htmlDIE755127:轉錄至看板 C_and_CPP 04/27 22:10

04/29 01:17, 6年前 , 1F
當你的程式有分層架構堆疊 會有變數
04/29 01:17, 1F

04/29 01:18, 6年前 , 2F
函數的權限問題 你就瞭解為什麼了
04/29 01:18, 2F

05/10 17:26, 6年前 , 3F
不需include .h檔 也能找到 function p
05/10 17:26, 3F

05/10 17:26, 6年前 , 4F
rototype在寫firmware時常會造成問題
05/10 17:26, 4F

05/30 18:07, 6年前 , 5F
沒include也能用是因為你放在同一層吧
05/30 18:07, 5F

05/30 18:08, 6年前 , 6F
程式預設會去同一層或指定目錄找header..
05/30 18:08, 6F

05/30 18:08, 6年前 , 7F
.
05/30 18:08, 7F

05/30 18:11, 6年前 , 8F
include.c 我只想到是用inline 宣告+實作
05/30 18:11, 8F

05/30 18:11, 6年前 , 9F
05/30 18:11, 9F
文章代碼(AID): #1QuouicF (Programming)
文章代碼(AID): #1QuouicF (Programming)