[问题] 常数隐藏

楼主: eric231 (嘻嘻雷梦)   2017-10-08 10:44:32
开发平台(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):
作者: jerryh001   2017-10-08 11:09:00
移至宣告
作者: james732 (好人超)   2017-10-08 18:52:00
会不会是上面有什么if(n)def所以被跳过了?
作者: IhateOGC (我讨厌)   2017-10-09 16:17:00
google gcc -D=1234
作者: laladeer (laladeer)   2017-10-09 23:45:00
楼上大大,我什么都找不到阿
作者: kingofsdtw (不能閒下來!!)   2017-10-10 09:23:00
https://goo.gl/ECncym他应该是指这个吧,不过这种coding sytle通常会顺便export to enviorment方便追踪
楼主: eric231 (嘻嘻雷梦)   2017-10-11 19:08:00
结果这常数是在 makefile里编译
作者: LPH66 (-6.2598534e+18f)   2017-10-11 21:12:00
所以那就是三楼提的 -D 参数了这个参数在 VC 同样是 /D 参数, 语法也几乎相同
楼主: eric231 (嘻嘻雷梦)   2017-10-12 11:04:00
先贴程式码 MAKEFILE,在89行的地方定义 https://ideonehttps://ideone.com/xWIYNJ
作者: LPH66 (-6.2598534e+18f)   2017-10-13 06:09:00
这样说勉强正确, 但是 92 行的↓这一段-DCMBS_BUF_SIZE=$(CMBS_BUF_SIZE)才是把这个值传给编译器的地方, 不然它就只限定在 makefile里面了

Links booklink

Contact Us: admin [ a t ] ucptt.com