Re: [問題] 關於純c的程式重構
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間14年前 (2011/11/11 17:03)推噓3(3推 0噓 0→)留言3則, 3人參與討論串3/3 (看更多)
※ 引述《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
推
11/11 17:14, , 1F
11/11 17:14, 1F
推
11/11 17:24, , 2F
11/11 17:24, 2F
推
11/11 22:20, , 3F
11/11 22:20, 3F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章