[問題] 常數隱藏

看板C_and_CPP作者 (嘻嘻雷夢)時間6年前 (2017/10/08 10:44), 6年前編輯推噓5(5011)
留言16則, 7人參與, 6年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) visual studio2015 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 目前有拿到一個大型專案,本來是在dos下執行 目前想把他轉成圖形介面,想先用Qt建好 在把.c檔一個一個拉進來,但是有發現有一個常數找不到定義的地方,如下圖紅色框起來 的地方,當我在常數旁右鍵點選"尋找所有參考 "卻可以看到2560, 常數名稱是 CMBS_BUF _SIZE,當我在專案裡搜尋卻找不到2560,請問會是哪些原因 https://i.imgur.com/3Z6Ho4s.jpg
餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.22.117 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1507430675.A.54E.html ※ 編輯: eric231 (101.10.22.117), 10/08/2017 10:46:40

10/08 11:09, 6年前 , 1F
移至宣告
10/08 11:09, 1F

10/08 18:52, 6年前 , 2F
會不會是上面有什麼if(n)def所以被跳過了?
10/08 18:52, 2F

10/09 16:17, 6年前 , 3F
google gcc -D=1234
10/09 16:17, 3F

10/09 23:45, 6年前 , 4F
樓上大大,我什麼都找不到阿
10/09 23:45, 4F

10/10 09:23, 6年前 , 5F
10/10 09:23, 5F

10/10 09:24, 6年前 , 6F
他應該是指這個吧,不過這種coding sytle通常
10/10 09:24, 6F

10/10 09:29, 6年前 , 7F
會順便export to enviorment方便追蹤
10/10 09:29, 7F

10/11 19:08, 6年前 , 8F
結果這常數是在 makefile裡編譯
10/11 19:08, 8F

10/11 21:12, 6年前 , 9F
所以那就是三樓提的 -D 參數了
10/11 21:12, 9F

10/11 21:14, 6年前 , 10F
這個參數在 VC 同樣是 /D 參數, 語法也幾乎相同
10/11 21:14, 10F

10/12 11:04, 6年前 , 11F
先貼程式碼 MAKEFILE,在89行的地方定義 https://ideone
10/12 11:04, 11F

10/12 11:05, 6年前 , 12F

10/13 06:09, 6年前 , 13F
這樣說勉強正確, 但是 92 行的↓這一段
10/13 06:09, 13F

10/13 06:09, 6年前 , 14F
-DCMBS_BUF_SIZE=$(CMBS_BUF_SIZE)
10/13 06:09, 14F

10/13 06:09, 6年前 , 15F
才是把這個值傳給編譯器的地方, 不然它就只限定在 makefile
10/13 06:09, 15F

10/13 06:10, 6年前 , 16F
裡面了
10/13 06:10, 16F
文章代碼(AID): #1PsP4JLE (C_and_CPP)