作者eric231 (嘻嘻雷夢)
看板C_and_CPP
標題[問題] 常數隱藏
時間Sun Oct 8 10:44:32 2017
開發平台(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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1507430675.A.54E.html
※ 編輯: eric231 (101.10.22.117), 10/08/2017 10:46:40
1F:推 jerryh001: 移至宣告 10/08 11:09
2F:→ james732: 會不會是上面有什麼if(n)def所以被跳過了? 10/08 18:52
3F:推 IhateOGC: google gcc -D=1234 10/09 16:17
4F:→ laladeer: 樓上大大,我什麼都找不到阿 10/09 23:45
6F:→ kingofsdtw: 他應該是指這個吧,不過這種coding sytle通常 10/10 09:24
7F:推 kingofsdtw: 會順便export to enviorment方便追蹤 10/10 09:29
8F:→ eric231: 結果這常數是在 makefile裡編譯 10/11 19:08
9F:推 LPH66: 所以那就是三樓提的 -D 參數了 10/11 21:12
10F:→ LPH66: 這個參數在 VC 同樣是 /D 參數, 語法也幾乎相同 10/11 21:14
13F:推 LPH66: 這樣說勉強正確, 但是 92 行的↓這一段 10/13 06:09
14F:→ LPH66: -DCMBS_BUF_SIZE=$(CMBS_BUF_SIZE) 10/13 06:09
15F:→ LPH66: 才是把這個值傳給編譯器的地方, 不然它就只限定在 makefile 10/13 06:09
16F:→ LPH66: 裡面了 10/13 06:10