看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《iamstudent (stu)》之銘言: : 首先 : A.c與B.c有一些完全相同的函數名稱 : 但是工作內容完全不同 : 因為沒有宣告在A.h : 這一點讓B.c編譯時只會呼叫到自己的函數 : 而不會呼叫到A.c的同名函數 沒道理 這樣會產生 link error : 這讓我在想 : c沒有private或是public的功能 : 是否能夠利用把函數藏進c檔 : 而達到private的觀念? : 這樣想是對的嗎? 用 static function : 但是如果A.c所include的檔案裡面 : 遇到跟自己函數同樣名稱的時候 : 麻煩就出現了吧 : c沒有namespace : 那麼函數的命名是否都要非常小心 : 而無法使用簡短名稱就好? : 還是說實際上有什麼比較安全的設計原則? 沒有簡單的方法 要用又臭又長的名稱 通常都是在函式前面加上一些prefix : ------------------------------------------------------ : 第二個問題是 : B.c並不會被別人include : 本身就有程式進入點 : (但不是main也不是win main,因為是plugin程式,名稱也非常不顯眼) : 目前來看 : 只會有B.c會去include B.h : 那麼,提出head檔B.h,是否是多餘的? : head檔應該是給別人使用的介面 : 但是能否只純粹為了增加可讀性而存在? 如果你需要 B.c 的文件 請使用 doxygen 之類的工具來幫你產生 .h 的設計根本就是舊時代的產物 如果沒有外部引用的需求就不需要 .h 了 要看內部函式的原形,用 doxygen 產生出來的文件會更方便 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.3.139
tropical72:我都不知道有 doxygen 這東西,document 還 key 半天.推 11/11 17:14
iamstudent:我自己是很習慣使用doxygen的,只是我也習慣有head檔 11/11 17:24
Bencrie:doxygen 很好用的 XD 11/11 22:20