永发信息网

"#ifdef _DEBUG"这里的"_DEBUG"是什么意思?

答案:2  悬赏:0  手机版
解决时间 2021-03-04 00:24
  • 提问者网友:焚苦与心
  • 2021-03-03 13:21
"#ifdef _DEBUG"这里的"_DEBUG"是什么意思?
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-03-03 13:58
#ifdef _DEBUG
#else
#endif
这是C++中的预处理器。
#ifdef _DEBUG的意思是如果预定义了名字_DEBUG,则函数执行该语句里的代码
即hins=::LoadLibrary("Debug\\iodevui.dll");并且抛弃下面的代码
否则抛弃上面的代码而执行#else里的,即 hins=::LoadLibrary("Release\\iodevui.dll");
#endif表示该预处理结束。
这样的代码一般都是在开发中用到,这样做的目的是:在开发程序时,能够根据是否定义了_DEBUG来选择执行其中的一段代码而忽略其它的。通常都是应用在软件升级中,如果用户花的钱多,他就能够获得指定的代码,花的钱少或者免费获得的就是另一部分代码,这些我也是听说。不过这段代码的作用就是这样
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-03 15:33
这就是常说的:编译开关。
一般大工程通过makefile文件控制编译流程和范围,如果makefile里加入了编译开关_DEBUG,则编译时编第一段:hins=::LoadLibrary("Debug\\iodevui.dll");,如果没有加入该编译开关,则编第二段hins=::LoadLibrary("Release\\iodevui.dll");。只能在编译阶段选择哪一段,程序运行后不能选择
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯