debug版本和release版本的问题 [问题点数:20分,结帖人huaxu2002]

Bbs1
本版专家分:0
结帖率 96%
Bbs7
本版专家分:14416
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs2
本版专家分:387
Bbs3
本版专家分:783
Bbs4
本版专家分:1841
Bbs2
本版专家分:220
releasedebug版本问题
<em>debug</em>下编译正常可用,<em>release</em>下编译下不可用,但又没错误提示。不知怎么处理?rn
debugrelease版本问题!
我的<em>debug</em><em>版本</em>能够正常运行,可是在<em>release</em><em>版本</em>下却不能运行,而且还弹出"应用程序错误"窗口提示"0x00000000"指令引用的内存"0x000000000"不能read,我不清楚这个错误在<em>debug</em>下怎么不提示?一般遇到这个错误怎么解决啊?我点击"取消"却不能调试,请赐教!谢谢!
DEBUG版本和RELEASE版本的区别?
我碰到过很多DEBUG<em>版本</em>没事,RELEASE<em>版本</em>就出<em>问题</em>的情况,很是头疼。请那位大虾讲解一下DEBUG<em>版本</em>和RELEASE<em>版本</em>的区别,或者提供参考资料,网站也可以。谢谢!
Debug版本release版本的用法
通过makefile 传入宏定义参数DEBUG,打印函数如下: #ifndef DEBUG #define <em>debug</em>print(format, ...) {\ printf( (char*)format, ##__VA_ARGS__);\ } #else #define <em>debug</em>print(format, ...) #endif 使用方法...
debug版本release版本的不同
各位好:rn小弟最近编了一个程序,发现<em>debug</em><em>版本</em>的exe文件可以正常执行,可是<em>release</em><em>版本</em>的exe文件却不能执行。rn程序的主要功能是获取网上的入侵信息,然后发送消息到主窗口(一个对话框)并显示出来。rn单独运行<em>release</em><em>版本</em>时,就不能得到任何输出,但是当<em>debug</em><em>版本</em>和<em>release</em><em>版本</em>一起运行时,<em>release</em><em>版本</em>也能同<em>debug</em><em>版本</em>一样输出信息,虽然比<em>debug</em><em>版本</em>慢一点。rn我怀疑是<em>release</em><em>版本</em>的消息发送和接受有<em>问题</em>,两个<em>版本</em>一起运行时<em>release</em><em>版本</em>可以搜到<em>debug</em><em>版本</em>的消息,所以也能输出。不知是否是这样。rn还望各位指教。
Debug版本和Release版本的区别。
我的程序的Debug<em>版本</em>运行时没有<em>问题</em>,但Release<em>版本</em>运行时却报了读内存错,请问什么情况下可能会导致这种情况的产生?
有关Debug版本和Release版本问题
请问如何生成Release<em>版本</em>。rn我在Build->Setting里面看到了有两个:Debug 和 Releasern在Build->set active ...里面选Debug的时候生成了Debug,但选Release的时候报错:rnCannot Open Precompiled Head file:'Release/My project name.pch':No such file or derectory.rn请问这是问什么啊?rn
VC6.0编译Debug版本和Release版本问题
想把VC6.0编译出来的程序用在没装VC6.0的电脑上,然后baidu看到大家说要把Debug<em>版本</em>改威Release<em>版本</em>,然后编译就可以了,但是我Debug<em>版本</em>编译没<em>问题</em>,设置成Release<em>版本</em>就出现一个错误:rn\Program Files\Microsoft Visual Studio\MyProjects\tese1\tese1Dlg.cpp(64) : fatal error C1001: INTERNAL COMPILER ERRORrn (compiler file 'E:\8168\vc98\p2\src\P2\main.c', line 494)rn Please choose the Technical Support command on the Visual C++rn Help menu, or open the Technical Support help file for more informationrnError executing cl.exe.rn这是我什么都没添加,就新建了一个mfc程序用<em>release</em><em>版本</em>编译出现得<em>问题</em>,请问怎样修改这个错误???
关于release版本和Debug 版本问题 终结
==============================================rn这 <em>release</em> 和 <em>debug</em> 2个<em>版本</em>的代码出现的<em>问题</em>rn我个人觉得有必要整理一下,更好的帮助朋友们rn以下内容有 以前朋友的回帖,也有网上找到的rn还有一少部分我个人的经验。rn希望大家不要水掉这个帖子,把自己的经验多分享rn多添加一些,谢谢。rn==============================================rn这个可能更全面:调试Release<em>版本</em>应用程序 rnrn引言rn如果在您的开发过程中遇到了常见的错误,或许您的Release<em>版本</em>不能正常运行而Debug<em>版本</em>运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release<em>版本</em>可以保证您的应用程序可以象Debug<em>版本</em>一样运行。rnrn如果您在开发阶段完成之后或者在开发进行一段时间之内从来没有进行过Release<em>版本</em>测试,然而当您测试的时候却发现<em>问题</em>,那么请看我们的调试规则1:rnrn规则1: 经常性对开发软件进行Debug和Release<em>版本</em>的常规测试.rnrn测试Release<em>版本</em>的时间间隔越长,排除<em>问题</em>的难度越大,至少对Release<em>版本</em>进行每周1次的测试,可以使您在紧凑的开发周期内节省潜在的排故时间.rnrn不要随意删除Release<em>版本</em>需要的代码rn这点看起来似乎再明显不过,但却是开发人员无意中经常犯的错误,原因在于编译器编译Release<em>版本</em>时候会主动排除在代码中存在的宏,例如ASSERT和TRACE在Release<em>版本</em>会自动排除,这样导致的<em>问题</em>是您在这些宏当中运行的代码也被随之删除,这是非常危险的事情J,例如:rnrn ASSERT(m_ImageList.Create(MAKEINTRESOURCE(IDB_IMAGES), 16, 1, RGB(255,255,255)));rnrn这样的代码在Debug模式不会出错,图像列表也自动创建了,然而在Release<em>版本</em>呢?后继使用m_ImageList对象只会造成程序的Crash!,因此ASSERT宏中尽量使用逻辑运算符作为验证。rnrn规则 2: 不要将代码放置在仅在某种编译选项中执行的地方,对于使用_DEBUG等编译选项宏内部的代码必须不影响整个程序的使用.rnrn规则 3: 不要使用规则2作为评判标准来删除ASSERT宏,ASSERT宏是个有用的工具,但容易使用错误.rnrn使Debug编译模式接近Release模式rn如果您的Release<em>版本</em>存在的<em>问题</em>是由代码被编译器自动排除造成的,那么通过这个方法您的<em>问题</em>可能会重现.rnrn一些<em>问题</em>的产生可能是由于不同编译选项之间预定义符号造成的,因此您可以更改编译模式下的预定义符号,从而使您的Debug模式接近Release模式,观察错误是否产生,更改编译预定义符号方法如下:rnrnAlt-F7打开项目设置,在C++/C 页面,选择 "General "类别,更改 "_DEBUG "符号为 "NDEBUG ". rn在C++/C 页面, 选择 "Preprocessor "类别,添加预定义符号 "_DEBUG "到 "Undefined Symbols "栏. rn使用 "Rebuild All "重新编译rn如果通过上面设置,您在Release编译模式下面的<em>问题</em>在Debug模式下重现,那么请您依据以下步骤对您的代码进行修改: rnrn查找ASSERT排除其中的所有重要执行语句,或者将ASSERT修改为VERIFY. rn检查 "#ifdef _DEBUG " 内所有代码,排除Release模式使用的代码. rn查找TRACE 排除其中的所有重要执行语句. TRACE和ASSERT一样,仅在Debug模式下编译.rn如果通过上面修改更正了您在Debug模式下的<em>问题</em>,那么您可以重新编译Release模式,非常有可能您可以解决先前存在的<em>问题</em>!.rnrn错误的假定造成编译模式错误rn您是否经常性的假定您的变量或者对象被初试化成某个指定的值(可能0)?您是否假定你所有关联到的资源在应用程序中都存在?这些也是Debug和Release模式下不同<em>问题</em>产生的原因. rnrn规则 4: 除非您在代码中对变量进行初始化,否则不能作出如上假定. 包括全局变量,自动变量,申请对象和new对象.rnrn这种情况还常常发生在内存顺序的<em>问题</em>,记得原来使用结构体的时候为了使用方便,比较两个结构体对象使用memcmp,在Debug<em>版本</em>工作正常,而Release<em>版本</em>计算出错误的解,看来的确不能进行错误的假定!rnrn规则 5: 确保删除资源的所有引用都被删除,例如resource.h中的定义.rnrn软件开发中,不同编译<em>版本</em>对变量和内存的初始化是不同的. 如果您假定变量初始化为0,那么在Win9x系统的Release模式下,会出现异常现象。因此对所有变量,内存显式清0是较为安全的做法. rnrn如果您引用了已经被删除的资源,您的Debug<em>版本</em>可以正常工作,但是Release<em>版本</em>可能会crash.rnrn您是否相信编译器? rn编译器警告级别和编译噪音有着相当大的关系.rnrn通过提高编译器警告级别可增加程序隐藏<em>问题</em>暴露的机会.通常设置警告级别在 "Level 3 "或者 "Level 4 ".编译并解决所有警告,这是发布Release<em>版本</em>应用程序的一个很好的建议.这能暴露会使您的应用程序出现<em>问题</em>的很多初始化<em>问题</em>和其它潜在的错误. rnrn规则 6: 开始项目之前先将编译警告级别设置在 "Level 3 " 或者 "Level 4 " ,登记代码之前确保消灭所有警告!.rnrn总结报告rn编译模式下的调试rn曾经不止一次的听到一些VC开发者说Release模式下面不能进行调试,幸运的是:通过相应设置,可以在Release模式进行调试,因此那只不过是一个以讹传讹的荒谬说法而已. rnrn规则 7: 当前面所有的方法都无效的时候,在Release模式下面进行调试.rnrnRelease模式可以进行调试,第一步是打开符号表: rnrnAlt-F7打开项目设置,在C++/C 页面,选择 "General "类,修改Debug Info setting 为 "Program Database ". rn在 "Link " 页面,选择 "Generate Debug Info ". rn"Rebuild All "rn这些设置将允许您在Release模式下保留符号表,您也可以同时考虑以下设置: rnrn调试Release<em>版本</em>应用程序,您可以关闭优化选项. rn如果在Release模式下面不能设置断点,添加指令 "__asm int 3 " 可以是您的应用程序在改行停止(确定在发布应用程序时候排除这些代码).rn在Release模式进行调试的几个限制. rnrn最大的<em>问题</em>在于您不能跟踪到MFC函数内部,原因在于Release<em>版本</em>的MFC动态链接库不包含调试信息和符号表. rn同上,想要调试调用的dll,您必须给它们全部加上调试信息和符号表.rn编译器生成了错误的代码?rn或许有的时候您会发现VC++编译器生成了’<em>问题</em>代码’,然而坦率的讲,人们通常抱怨的太早.您可以在Release模式下面关闭优化选项来进行测试. rnrn如果这个操作解决了您的<em>问题</em>,或许您的编码习惯存在<em>问题</em>. 信不信由你, 极其可能在您的编码中存在模棱两可的求解或者看起来似乎正确,某些条件下也是正确的情况. 举个例子,下面的代码在Debug模式似乎一切’正常’,而在Release模式下面却会出错! rnrn#include rnrnint* func1()rnrnint retval = 5;rnreturn &retval;rnrnrnint main(int argc, char* argv[])rnrnprintf( "%d\n ", *func1());rnreturn 0;rnrn我相信大多数程序员尤其是初学者容易遇到此类情况的.rnrn规则 8: 如果关闭Release模式的优化选项可以使您的应用程序运行正常,而打开优化选项则出现<em>问题</em>的化,原因多半在于您的不良编码习惯造成的. 这意味着必须仔细检查您的代码,清理出那些错误的假设,悬空指针等等. 等同的这告诉您,在Debug模式和关闭优化选项的Release模式下您的应用程序工作正常全是因为系统隐含的运气,您必须着手更正存在隐患的代码,否则在日后可能会造成巨大的损失.rnrn规则 9: 如果您已经彻底检查了您的代码,并且没有发现<em>问题</em>,那么您最好逐个打开优化选项将产生错误的原因限制在某个范围之内. rnrnBTW- 以上<em>问题</em>代码由C++编译器自动检出. 如果您已经遵循 规则 6 您或许在前面环节中已经解决了这些<em>问题</em>.rnrn凭我的开发经验,编译器极少会产生错误的代码(当然要注意接口程序边界对齐的<em>问题</em>).通常在使用模板类时候VC6编译器或许会产生断言ASSERT错误,这种情况您只需更新补丁即可解决.rnrn最后的思考rn在日常编码中只需稍微增加一点严格的检测,便能有效的避免新的Debug -v- Release模式<em>问题</em>的产生,以下是我的一些经验.rnrn1. 取出(check out)需要修改的代码.rnrn2. 修改代码,排除所有警告,编译Debug和Release<em>版本</em>. rnrn3. 详细测试新代码,即单步调试新代码段之后进入工作代码,确保代码无误. rnrn4. 更正所有<em>问题</em>. rnrn5. 确认无误之后将新代码登记入库(check in). rnrn6. 对登记入库的代码进行全新的编译,确保新登记代码与其它代码融合. rnrn7. 重新详细测试代码. rnrn8. 更正新<em>问题</em>(或许可以发现登记入库代码存在的<em>问题</em>)rnrn严格按照以上步骤,您在设计开发过程中即可解决大量<em>问题</em>,避免在最后发布应用程序时候产生新的难以定位的<em>问题</em>. rnrn后记rn本文是在我的开发历程中遇到Release<em>版本</em>应用程序发布,产生错误的时候苦苦求索得到的一些经验,原文来自于codeproject,经过本人润色,改写成为适合国内开发者的文章,希望能对大家有用,谢谢! rnrn=========================rnWin7 系统,也许是用了 Visual Studio 2010 写了个网络程序。 结果Debug模式工作正常,而Release模式出现了<em>问题</em>。rnrn在Release模式下,无法连接服务端。rnrn经过几番检查,最后发现, Debug模式下,Win7 的防火墙是不管你的,而在Release模式下, Win7 自带的防火墙是不让访问的rnrn结果造成了这个<em>问题</em>。希望大家多给出经验,。rnrn在这里谢谢大家了。
[讨论]RELEASE版本和DEBUG版本问题。???
[原<em>问题</em>]:rn我在某个DLL中写了个函数:Init(CDatabase* pdb,...)做初始化工作(主要读取一些数据。。。)主要用法是:rnCRecordset rs(pdb); //RELEASE<em>版本</em>出错的地方!,说内存只读什么的。。。rnCString strsql="select .... from ......";rnrs.Open(...);rn....rn我在EXE工程中,要调用刚才的DLL中的Init(CDatabase* pdb,...)rnrn我调用的时候是声明一个CDatabase m_db;rn然后做好数据源连接,Init(&m_db,...);rnrn我之所以这样说(DLL和EXE工程)是因为,我如果在一个EXE工程里的话,不管RELEASE<em>版本</em>和DEBUG<em>版本</em>都没有<em>问题</em>!!!rnrn最后一句话说再说一遍(我觉得我说的有点<em>问题</em>,怕你们误解)rnrn我尝试了在同一个工程里(EXE工程),做完上面所有的步骤。包括数据源连接和CRecordset构建和访问数据库,总之,我在一个EXE工程里面用同样步骤的做法,RELEASE和DEBUG<em>版本</em>都没有<em>问题</em>。rnrn<em>问题</em>得到部分解决,但不晓得原因,欢迎大家踊跃讨论!!!rn[原<em>问题</em>的具体讨论参见]:rnhttp://expert.csdn.net/Expert/topic/2272/2272010.xml?temp=.1345484
关于release版本和Debug 版本问题
我写了个程序,为什么在Debug<em>版本</em>下没<em>问题</em>,在<em>release</em><em>版本</em>下会出现<em>问题</em>。请问应该是什么<em>问题</em>啊???
Debug版本调用Release版本问题
我自己编写的exe程序为Debug<em>版本</em>,别人写的动态库为Release<em>版本</em>。别人的动态库类型为MFC扩展动态库。当我用<em>debug</em><em>版本</em>调用Release<em>版本</em>时,经常出现内存访问错误,光标停留在7C92120E int 3 这一行rn[img=c:\\11.jpg][/img]rn[img=C:\\2.jpg][/img]rn请问各位网友,这是怎么回事呢?如果解决该<em>问题</em>rn还有我不想使用Release调试,因为在Release下,BChecker就不能检测出内存泄漏来了?rn
Debug与Release版本的区别
Debug与Release<em>版本</em>的区别 Debug与Release<em>版本</em>的区别Debug与Release<em>版本</em>的区别 Debug与Release<em>版本</em>的区别
release/debug版本的不解
一asp.net站点,是用解决方案/项目的形式做的,使用studio发布时候,生成选项已经选择了Release,web.config也加了<em>debug</em>="false"。rnrn但是,网站在服务器运行时如果出现错误,在系统日志(win自带那个),仍能记录下精确到行号的错误日志,或者如果在web.config使用时(此时<em>debug</em>依然是=false的),浏览器同样会显示精确的错误记录,不知我的理解有没有错,如果在<em>release</em>模式下,应该是不会也不能显示精确到行号的错误的啊!rnrn说明一下,我现在不是想问如何不显示具体错误,这个用customErrors控制就行了。而是我这个是正式版,而这种情况是否说明仍然是<em>debug</em>版呢?我担心的是性能。rnrn另外,是否是因为bin下的pdb我也上传了?
Debug和Release版本的区别
我的程序在<em>debug</em>模式下可以正常的链接,但是在Release模式下则出现了很多错误,其中我用到的很多开源库的库函数也报错了,例如:error LNK2001: unresolved external symbol _cvReleaseCapture,,而且我的程序中没有_cvReleaseCapture这个函数,只用了cvReleaseCapture(&pCapture),我该如何处理这些错误那?
debugrelease版本不一样?
我写了一个安装程序,其中用到LZ32.dll中的函数,<em>问题</em>是如果是<em>debug</em><em>版本</em>,程序运行无错,一但是<em>release</em> <em>版本</em>,一运行到lzcopy函数时,系统就出错,并且操作系统崩溃,我的操作系统为:window Me
关于releasedebug版本
我做了一个程序,在<em>debug</em><em>版本</em>中编译成功,能够在系统托盘上显示一个图标,当我按下菜单时,图标会变化,但是当我生成<em>release</em><em>版本</em>时,当我按下菜单的时候,无法显示出变化后的图标!而且二个<em>版本</em>的那个执行程序的图标也是不同的,请问是为什么?
Debug和Release版本的不同
一个线程给另一个线程SendMessage,<em>debug</em><em>版本</em>完全正确,<em>release</em><em>版本</em>总是非法操作,rn提示mfc42.dll访问地址越界,选择调试,出来一堆汇编代码,怎么办?为什么?rn急!!
debug Release 版本
我在自己机器上(VS2010 winform程序)运行一切没有<em>问题</em>,rnrn然后分别打包<em>debug</em>里面的文件 和Release里面的文件rnrn在新机器上面(已经安装 .net 4.0)运行安装程序rnrn<em>debug</em><em>版本</em>的程序安装好后运行 打开一点反应没有rnrnRelease<em>版本</em>的 正常rnrnrn什么原因
debugrelease 版本
同样的程序,在<em>debug</em> <em>版本</em>下能跑起来,但是在<em>release</em> <em>版本</em>下却怎么也跑不起来。我做的是和硬件通信的一个应用。各位大侠能不能帮我深入分析下可能的原因,着重讲下两个<em>版本</em>的区别,谢谢!
Debug与Release版本的困惑
我用VC写了一个串口通信程序,Debug<em>版本</em>传输数据正确(10进制,16进制),而在Resease<em>版本</em>中出现了一个<em>问题</em>:rn (1)在10进制模式下发送12 34 56到串口,却接收到 22 44 66rn (2)在10进制模式下发送11 22 33到串口,接收正确。rn请问这是什么原因?Debug与Release<em>版本</em>对字节数组有什么不同的处理方式吗?
debugrelease 版本的不同?
char str2[2];rnconst char *str4 = "123456789";rnrnsprintf(str2,"%s",str4);rnrn在<em>debug</em> 中没有出现非法,但是在<em>release</em> 中出现非法访问内存。
关于releasedebug版本问题
我在程序中使用了一个CArray arry数据结构,在<em>debug</em><em>版本</em>下运行正常,但改为<em>release</em><em>版本</em>后一执行到arry.Add(...)的语句就会出错,这是什么原因?请教了!
关于debugrelease版本问题
请问<em>debug</em><em>版本</em>和<em>release</em><em>版本</em>有什么区别,怎样控制生成<em>debug</em><em>版本</em>或者是<em>release</em><em>版本</em>???谢谢!
关于Debug和Release版本问题
我的程序在Debug下运行没错,在Release<em>版本</em>下运行就有错误,后来发现原因出在我调用了一个我自己写的DLL文件,如果我不调用该DLL文件运行都不会出现<em>问题</em>,每当在运行时要调用该DLL文件的时就会出错(只在Release<em>版本</em>下才会).真不知道什么原因????请高手指教
releasedebug版本的消息发送问题
<em>问题</em>是这样的。我想要实现在程序的不同窗口之间发送消息。我通过SendMessage(hWnd,WM_XXX,0,0);rn其中hWnd是目标窗口的句柄,通过目标窗口中的this->GetSafeHand()得到的,预先赋给想要发送消息的窗口。rnrn现在在<em>debug</em><em>版本</em>中没有一点<em>问题</em>,消息能正确发送和接收。但在<em>release</em><em>版本</em>中却一到调用SendMessage这个函数时,程序就没有响应了。<em>问题</em>应该在这个函数上,因为当我屏蔽调改消息的响应函数的函数体,程序还是会没有响应,当屏蔽掉SendMessage时,程序就运行正常了。rnrn大家是否也曾遇到过这个<em>问题</em>?望大家帮帮忙,给我指点指点,谢谢!
debug版本release版本有区别么
为了利用<em>debug</em>工具,大多数程序猿开发的时候使用AS的<em>debug</em><em>版本</em>,最终发布<em>版本</em>是<em>release</em><em>版本</em>,但是在这个转变的过程中可能会出现一些意外。 1、releas<em>版本</em>与<em>debug</em><em>版本</em>的applicationId不一样 为了客户端上两个<em>版本</em>共存,通常<em>debug</em>设置不同applicationId,这会导致需要填写applicationId申请的第三方平台使用不正常,比如小米推送和微信分享等。
怎么把release 版本 搞成 debug 版本
我是刚学VC的菜鸟 请各位VC的大哥给我指导rn能留个qq或者邮件给我吗?rn
如何配置DLL的Debug版本和Release版本
我编写了一个动态链接库,想将Debug<em>版本</em>和Release<em>版本</em>分别用不同的文件名区分开来,在Debug<em>版本</em>的.lib和.dll前加d,而Release<em>版本</em>的不加。rnrn我在Debug<em>版本</em>中做了如下设置/out:"../Debug/ImageDllD.dll" /implib:"../lib/ImageDllD.lib"rnrn在编译时出现了如下警告:rnImageDllD.exp : warning LNK4070: /OUT:ImageDll.dll directive in .EXP differs from output filename "../Debug/ImageDllD.dll"; ignoring directivernrn在Debug<em>版本</em>连接到使用此动态链接库的程序中,程序运行后,却仍然要找ImageDll.dll,而不是找ImageDllD.dll。rnrn请教各位高人,如何解决?
debug版本问题release 版本 联接错误。
1>正在链接...rn1>Issue_DLG_GM.obj : error LNK2001: 无法解析的外部符号 "public: static enum CardManufacturer CIssueMachine::m_CardManufacturer" (?m_CardManufacturer@CIssueMachine@@2W4CardManufacturer@@A)rn1>omConnectDlg.obj : error LNK2001: 无法解析的外部符号 "public: static int __cdecl MyTools::FindCommPort(class std::vector > >,class std::allocator > > > > &)" (?FindCommPort@MyTools@@SAHAAV?$vector@V?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@V?$allocator@V?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@std@@@std@@@Z)rn1>F:\发卡机\2008-12-8\IssueCardMachine_UT6000\Release\IssueCardMachineUT6000.exe : fatal error LNK1120: 2 个无法解析的外部命令rn1>生成日志保存在“file://f:\发卡机\2008-12-8\IssueCardMachine_UT6000\IssueMachine\Release\BuildLog.htm”rn1>IssueCardMachineUT6000 - 3 个错误,0 个警告rn
关于release版本debug版本的不同
最近参加了全国机器人足球比赛,做的程序中包含了大量的复杂计算,结果在生成<em>release</em>版的时候,出现程序的执行结果和<em>debug</em>版有很大区别,有的人说可以通过调整<em>release</em>版的属性的方法来尝试改变这种现象,但是最终没有进行这样的尝试。rn请问各位,是不是<em>release</em>在算法上对<em>debug</em>有很大的改变,是否通过调整<em>release</em>的属性就可以使<em>release</em>版接近<em>debug</em>版的算法,或者和<em>debug</em>版的算法相同??rnrn谢谢
Debug版本转向Release版本,为什么不成功?
Debug<em>版本</em>和Release<em>版本</em>,在编译情况下都能够通过,但在运行情况下,Debug<em>版本</em>是正常的,Release<em>版本</em>不稳定,异常较多,不知道为什么吗?rn<em>问题</em>是:rn该怎么保证Release<em>版本</em>正常运行呢?
CRichEditCtrl的Debug版本和Release版本的排版差异?
我用SetWindowText设置内容,用\t \r \n控制排版,Debug<em>版本</em>排得好好的,到了<em>release</em>就排乱了.请都何解?rn另,请问如何控制缩进呢?
关于编译器的debug版本release版本
我的程序(程序名为test.cpp)如下:rn#include rn#include rnusing namespace std;rnrnint main()rnrn int i = 0;rnrn assert(++i != 0);rn cout<<
debug版本release版本有什么差别?
生成<em>release</em><em>版本</em>之后文件长度会变短吗?rnrn为什么我的程序在<em>debug</em><em>版本</em>下编译连接执行,一切顺利rn但是生成<em>release</em>版的时候,出现报错:rnGenerating Code...rnLinking...rnChaosCodecDemoView.obj : error LNK2001: unresolved external symbol __imp__mciSendCommandA@16rnRelease/ChaosCodecDemo.exe : fatal error LNK1120: 1 unresolved externalsrnError executing link.exe.
请教如何将debug版本改为release版本
我在控制台下,工程设置中打开对话框,在左边的导航栏中选择了WIN 32 Release,然后编译运行,但是过后并未生成<em>release</em>目录,还是原来的<em>debug</em>目录,并且设置属性对话框中又恢复成原来的 win32 <em>debug</em>,请教该如何设置成<em>release</em> 目录呢?
dcmtk的debug版本release版本的环境问题
运行库疯狂报错,只能在<em>debug</em>模式下运行。rnrn[b]VS2015环境下:[/b]rnrn代码很简单,在<em>debug</em>模式下,运行库设置成MDd可以无错运行。rn[code=c]rn#include rn#include rn#include rn#include rnrnusing namespace std;rnrnint main() rn string fileName;rn getline(cin, fileName);rn DcmFileFormat dcmFile;rn dcmFile.loadFile(fileName.c_str()); rnrn return 0;rn[/code]rnrnrn后来换到了<em>release</em>模式下后,必须把运行库设置成MDd才能运行,照理说应该是MD啊。。rnrn设置成MD模式后就是图中的这个的<em>问题</em>rn[img=https://img-bbs.csdn.net/upload/201804/26/1524723422_74615.png][/img]rnrn[b][color=#FF0000]rn所以首先问一下有没有老师同时装过dcmtk库的<em>debug</em>和<em>release</em><em>版本</em>,网上的所有教程都是<em>debug</em><em>版本</em>的。是不是我安装的时候导致<em>debug</em>的库和<em>release</em>的库混起来了。rn[/color][/b]rnrn其次就是我把运行库都设置成MDd后,在VS2015里面可以在<em>debug</em>和<em>release</em>模式下运行这一段代码。但是我在Qt Creator里面写的另一个只能在<em>debug</em>模式下运行,在pro文件中无论怎么改都无法在<em>release</em>模式下运行。rnrn[b]Qt Creator环境下:[/b]rnrn[img=https://img-bbs.csdn.net/upload/201804/26/1524724159_341745.png][/img]rnrn[b][color=#FF0000]rn这里是第二个<em>问题</em>,问下qt creator里面设置运行库的<em>问题</em>rnQMAKE_CFLAGS_DEBUG += -MDd rnQMAKE_CXXFLAGS_DEBUG += -MDd rn类似于这种的都已经尝试了所有的排列组合,一直是上面图中的错误。rn请问如何解决rn[/color][/b]rnrn
Debug版本与Release版本运行结果不一致。。。。急!
[code=C/C++]rnbool CCom::RFrames()rnrn unsigned long readDataNumber=0;rn COprModbus modbus; //Modbus 协议类。rn unsigned char checkTime=CHECKTIMES;rn memset(TxBuff,0,128);rn TxDataLen=modbus.OnLoadMODData(modbusAddress,comMode,functionChar,vfdAddress,dataNumber,TxBuff);rn RxDataLen=modbus.OnGetReadLen(comMode,functionChar,dataNumber);rnrn unsigned char *RtuRxbuff=new unsigned char [(RxDataLen-1)/2];rn unsigned char *RtuTxbuff=new unsigned char [(TxDataLen-1)/2];rn comPort.Write(TxBuff,TxDataLen); //comPort为CSearialPort串口类rn //Sleep(OVERTIME);rn do rn rn memset(RxBuff,0,128);rn readDataNumber=comPort.Read(RxBuff,RxDataLen);rn Sleep(OVERTIME);rn if (comMode) //RTU模式rn rn if (RxBuff[1]==functionChar+0x80)rn return false;rn WORD crcBit=modbus.OnCaluCRC(RxBuff,RxDataLen-2); //计算CRC校验码rn hCrcByte=((crcBit & 0xFF00)>>8);rn lCrcByte=crcBit & 0x00FF;rn if (hCrcByte==RxBuff[RxDataLen-1] && lCrcByte==RxBuff[RxDataLen-2])rn rn break;rn rn rn else //ASCII模式rn rn ASCIItoRTU(RxBuff, RxDataLen, RtuRxbuff);rn ASCIItoRTU(TxBuff, TxDataLen, RtuTxbuff);rnrn if (RtuRxbuff[1]==functionChar+0x80)rn return false;rn if (modbus.OnLRCCheck(comMode,RxDataLen,RxBuff)) //计算LRC校验码rn rn break;rn rn rn rn checkTime--;rn rn while (checkTime);rnrn if (!comMode)rn rn memset(RxBuff,0,128);rn memset(TxBuff,0,128);rnrn RxDataLen=(RxDataLen-1)/2;rn TxDataLen=(TxDataLen-1)/2;rnrn for (unsigned char i=0; iMsgOutPut(msgStr);rn rn strLang1.LoadString(IDS_WARNING);rn strLang.LoadString(IDS_READ_REG_FAIL);rn msgStr.Format(LPCTSTR(strLang), vfdAddress);rn sel=::MessageBox(pMain->m_hWnd, msgStr, strLang1, MB_ABORTRETRYIGNORE|MB_ICONINFORMATION);rn if (sel==IDABORT)rn return false;rn else if (sel==IDIGNORE)rn break;rn rn[/code]rnrnwhile (!RFrames())//<em>debug</em><em>版本</em>此处RFrames()为true, 而Relase<em>版本</em>此处RFrames()为false.rnrn紧急,跪求各位,帮忙解决。
debug版本release版本有什么区别??
请问各位大神,<em>debug</em>和<em>release</em><em>版本</em>有什么区别??越具体越好。。。另外,32位和64位对变量分配的内存最大值有没有限制。
如何区分Release版本和Debug版本
如果只提供一个用vc编写的.exe程序,其他的源代码都没有,可以用工具来判断该可执行程序是Debug<em>版本</em>的,还是Release<em>版本</em>的吗?rn谢谢!
为什么debug版本release版本运行结果不一样?
我用vc++写的程序编译成<em>debug</em><em>版本</em>和编译成<em>release</em><em>版本</em>运行结果为什么不一样?rn怎么解决?谢谢
release版本debug版本的程序有什么区别?
我的一个程序编译成<em>release</em><em>版本</em>和<em>debug</em><em>版本</em>都能正常运行,<em>debug</em><em>版本</em>运行结果正确,单步执行也不会出错。可<em>release</em>版结果却出人意料,可又不能单步调试,不知是何原因。rn望高人指点!
Release版本正常,Debug版本出错?
小弟新近开发的一个程序,Release和Debug<em>版本</em>均能编译通过,但是运行时Release<em>版本</em>正常,而Debug<em>版本</em>却报告Debug Assertion Failed错误,我将Debug目录删除重新编译,<em>问题</em>依然存在,这是怎么回事呢?还请各位大侠指点。rn
App release版本debug版本参数不同
参考 项目中在开发的时候有很多日志要打印,但是正式发版不应该出现这些调试日志。 以前的做法是设置一个静态变量,但是每次发版的时候要修改这个参数,经常会因为匆忙上线而忘记修改。 以前的做法 //<em>debug</em> | <em>release</em> private static int type = LOG_RELEASE;修改app/build.gradl buildTypes {
为什么Debug版本和Release版本的运行结果不一样?
-
memcpy在release版本下崩溃,debug版本问题
改为memmove也不行,CxImage里面的一个语句
delphi2007怎么发布debug版本release版本
RTrn怎么设置?
请问debug版本release版本有什么区别?
同上
安卓手机同时安装debug版本release版本
最近老大提了一个新的需求,希望可以同时在手机上装上测试APP与正式APP,开始觉得不可能,两个手机就可以搞定的<em>问题</em>。 但是后来一搜索,居然有解决的办法。目前已经成功实现该功能,以此博客记录一下。 首先: 第一步 ,在gradle 中做出相应的修改。 如下如所示: 其中,applicationidsuffix 可以在打包的时候 根据打包类型来修改包名,如上图所示,在打包的时候,会在原...
关于项目Release版本debug版本的调试
各种依赖连接的修改,多参照<em>release</em><em>版本</em>的依赖关系;错误慢慢改吧;改BUG中会让你更快了解项目结构;
为什么DEBUG版本正确,Release版本错误?
是一个自己写的数据排序,在验证的时候,<em>debug</em>下验证通过, <em>release</em>下验证错误。rnrn查了下网上一些资料,说可能内存没正确处理,检查了下自己的程序,没发现内存<em>问题</em>。rn除了内存<em>问题</em>之外,还可能有其他<em>问题</em>吗?rnrnrn宏定义好像也没<em>问题</em>。rnrn代码量挺大,贴不上来。rn还有什么可能的情况?望高手帮帮忙
cmake 构建Debug 版本和Release 版本
一般Debug和Release应该在不同的目录下编译,否则每次当切换模式时必须把编译文件全部删掉。 这里假设新建两个目录Debug和Release来分别用于构建相应的模式: Release <em>版本</em>: mkdir Release   cd Release   cmake -DCMAKE_BUILD_TYPE=Release ..   make     Debug <em>版本</em>: mkdir D...
release版本的怎么改回debug版本
工程里面的project->setting改了无效哦
Release 版本为什么要 Debug 版本的动态库
我写的一个程序编译成Release<em>版本</em>后居然还要Debug <em>版本</em>的 DLL, 用Depends.exe 查看里面同时包含了 msvcrt.dll 和 msvcrtd.dll.rn但在mscvrtd.dll 里面只调用了一个函数 _CxxThrowException, 不知为何?
一变量在release版本debug版本的不同
我在一函数内定义了一个局部变量,在<em>release</em><em>版本</em>和<em>debug</em><em>版本</em>下显示的值不同。rn请高手指点!!!
(急)Debug版本和Release版本的区别
各位大哥:请问Debug<em>版本</em>和Release<em>版本</em>有何区别?我写了一个程序在OnInitDialog里设置控件的位置大小和字体,在Debug<em>版本</em>里一切和设置的一样,但是当我将其编译成Release<em>版本</em>再运行时,控件的字体就不是我在OnInitDialog里设置的字体,好像成了系统默认字体,请问这是为什么,我该怎样避免这种<em>问题</em>?谢谢
Release版本和 Debug版本不一致怎么办呢?
会是什么原因造成的,怎么解决
如何将Release版本转化成Debug版本
我从网上down了一个dll的源代码,用VC编译后,不能调试,因为是Release版的,从project/setting中改成Debug后,再编译,还是生成Release版,如何将改成Debug版
qtcreator的debug版本release版本配置和设置
课程讲解基于QT5.9 SDK,包含QT界面编程的核心内容,并提供全部源码,课程讲解方式是接口讲解、分析、演示示例,课程讲解QTCreator在不同平台的配置方法,linux,windows,mac,课程演示主要以vs2015+QT5.9为主,开始会讲解QTCreator配置。课程源码基于c++ 11以上<em>版本</em>,建议至少安装vs2013以上。课程后会做一个图像编辑器的示例。
Debug版本和Release版本有什么区别
在Debug<em>版本</em>时编译时正常,rn <em>release</em><em>版本</em>时总是多出了些东西,看起来像是多进行了一些错误循环rn (需要说明的是Debug<em>版本</em>只多了些输出信息)rn 问一下<em>release</em><em>版本</em>除了比Debug<em>版本</em>少了些编译信息外,还有什么其他的区别?
opencv-3.4.0 x86的Debug 和Release版本
经过vs2017 +cmake3.10 编译后的opencv-3.4.0 的x86的Debug 和Release<em>版本</em>
Debug正常,Release版本崩溃
最近写了一个小程序,里面内置了一个小浏览器,在<em>debug</em><em>版本</em>中程序运行正常,但是Release<em>版本</em>中程序运行一段时间就崩溃,并且时间不固定,当你打开一个视频网站时,过两分钟崩溃,打开图文形式的页面则过好久才崩溃,这个有大虾碰到过吗?(网页显示用的是chtmlview派生的一个类),基本所有的OnTimer, OnPaint都检查过了,变量均初始化,分配内存的地方也足够
debugrelease版本有什么区别?
为什么在<em>debug</em>下好用的程序,编译成<em>release</em>就出错无法运行?
debugrelease版本能否混用?
<em>debug</em>和<em>release</em><em>版本</em>能否混用?
关于debugrelease版本的疑惑
最近在做一个下载的工程,做到关于更新包校验的时候,不知道为何<em>debug</em><em>版本</em>读到的CRC码都是正确,但是用<em>release</em><em>版本</em>读,有些文件读到的CRC码都是FFFFFFFF,郁闷。rnrn有个<em>问题</em>问下大家,希望有哪位大哥可以帮我解释下。。rn我有个函数,用来得到当前程序目录的:rnstrPath:保存得到的完整路径信息(传出参数)rnstrProName:程序名(出入参数,用于生成路径)rnrnvoid CPatchToolDlg::GetProPath(char* csPath, char* csProName)rnrn CString strCurPath = "";rn char csCurPath[_MAX_PATH]; //保存当前程序的完整路径信息rn csCurPath[0] = 0;rnrn //获得程序的完整路径信息rn if (0 == GetModuleFileName(NULL, csCurPath, MAX_PATH)) rn rn MessageBox( _T("Can't GetModuleFileName\n"), NULL, MB_OK);rn return;rn rn strCurPath.Format("%s", csCurPath);rnrn int nPos = 0;rn //去除当前程序名rn nPos = strCurPath.ReverseFind(TCHAR('\\'));rn if (-1 == nPos) return;rn strCurPath = strCurPath.Left(strCurPath.GetLength() - nPos);rnrn //加上程序名rn strCurPath += csProName;rn strcpy(csPath, strCurPath);rnrnrnrn以上函数在<em>debug</em><em>版本</em>中调用的时候没<em>问题</em>,但是在<em>release</em><em>版本</em>中就有<em>问题</em>了,rn在运行到 strCurPath = strCurPath.Left(strCurPath.GetLength() - nPos);时得到的路径就错了rn还有就是nPos都看不到值,想看下它值是多少都看不到,郁闷rn哪位大哥可以告诉我下rnrn是不是CString有什么猫腻呢??
debugrelease版本运行结果不同?
我的<em>debug</em><em>版本</em>一切正常,可<em>release</em>却不对,不知为什么。rn我的程序只是从C的DLL中取数据,再显示,可在<em>release</em><em>版本</em>中尽是乱七八糟的数据,DEBUG一切正常,不知为什么?
release版本的程序能不能debug
我现在的程序是<em>release</em><em>版本</em>的,因为里面用到的一些lib在<em>debug</em><em>版本</em>下不能正确运行,所以选用了<em>release</em><em>版本</em>,可是我现在想<em>debug</em>我的程序,跟踪一些变量的变化情况,可是仿佛不能<em>debug</em>,请教各位高手这种情况应该怎么办
Release和Debug版本的dlib.lib文件
visual studio2013和dlib18.14<em>版本</em>下的lib文件
gcc编译debugrelease版本软件
<em>debug</em><em>版本</em>的软件目的是为了调试软件;<em>release</em><em>版本</em>是用来发布的。很明显<em>debug</em>的<em>版本</em>的软件必然包含很多信息:代码中的函数名,源代码的文件名和行数,编译出来的目标文件的偏移量。使用addr2line 和文件位置偏移量,就可以得到对应的函数名和源文件以及行数。<em>release</em><em>版本</em>的软件这些信息就没有必要了。gcc给工程师提供了编译参数来控制这些。添加-g参数可以使得编译的程序包含更多调试信息,...
visual c++的debugrelease版本
原来的工程编译的是<em>release</em><em>版本</em>,我要调试,所以删掉了<em>release</em>的配置。编译<em>debug</em><em>版本</em>。但是现在想改回<em>release</em><em>版本</em>,怎么设置?
CStatic的debugrelease版本区别
今天发现,自己写的CStatic 派生类,在Create设置SS_NOTIFY之后, 在<em>debug</em>模式下不响应WM_PAINT消息, 而在Release<em>版本</em>下却响应了, 不知道大家有没遇到过? 还有就是感觉Create比直接用DoDataExchange麻烦很多, 但是带来的灵活性却是前者没法比的。
VC的debugrelease版本的区别
VC的<em>debug</em>和<em>release</em><em>版本</em>有什么区别?我写的串口程序,在DEBUG状态下编译没有任何<em>问题</em>,但是运行时就出现报告错误,为什么我换成RELEASE<em>版本</em>就没有错误报告,请指点
Debug和Release版本的区别 (Release版本老出错)
最近碰到了一个奇怪的<em>问题</em>.rn在MDI程序中,rn 在一个CChildFrame类中,定义了一个变量rnCString m_strInfo;rn给这个类添加了一个函数 rnvoid CChildFrame:WatchParam()rnrnMessageBox("进入函数");rn CString s1,s2;rn int i,j;rn .....rn i=0;rn j=0;rn s1="赋值1";rn s2="赋值2";rn strInfo.Format("%02d%02d%s%s",i,j,s1,s2);//rn 当这个函数还没有调用的时候,用MessageBox()没有弹出,Debug模式正常启动,而Release<em>版本</em>则程序一启动就出错退出.rn 请问是什么原因rn 改为下述方式;则程序可以运行rn strInfo.Format("%02d%02d",i,j);rn strInfo+=s1;rn strInfo+=s2;rnrn 请问是什么原因,改程序是改造的过程出现上述错误的,(怀疑是编译产生的临时文件的<em>问题</em>.)有经验的解释一下rn 还有情况是,把其前面的函数注释掉,也能运行起来.rnrn //奇怪的是,当程序根本没有调用这个函数,
Debug Assertion Failed错误,Debug版本有,Release版本没有
[size=18px]C++刚入门,参考一些资料写了一个串口助手,在16进制发送时,如果发送字符串末尾是单个字符发送如“123”或者“12 3”则出现RT错误,但忽略后数据接收正常,可以接着正常运行,另外程序Release<em>版本</em>运行时不会出现这个错误,希望会的人解释一下,贴出发送C++代码[/size]rnrnrnrn[code=c]rnvoid CCommAssistDlg::OnButtonSendData() //发送数据按键函数rnrn UpdateData(TRUE); //刷新数据rn switch(State_Tx_Format)rn rn case Format_Char : //如果是字符发送则直接发送数据rn rn m_comm.SetOutput(COleVariant(m_edit_TxData)); //发送数据rn break;rn rn //如果是16进制发送则需将16进制数字字符串转化成对应的16进制数,如"23569a" 0x23 0x56 0x9arn //字符串没有格式限制,但必须是合法的16进制数0 - 9,a - f,A - F,或者空格符rn //空格符区分两个16进制数,如"12 34 5 67" 0x12 0x34 0x05 0x67rn //若字符连在一起,则认为两个两个一组,落单的字符为一个,如"1234567" 0x12 0x34 0x56 0x07rn case Format_Hex :rn rn int TxData_length,counter = 0;rn BYTE bt;rn CByteArray TxData_temp; //存储转换后的16进制数据rn TxData_length = m_edit_TxData.GetLength(); //获取发送数据长度rn rn for(counter = 0; counter < TxData_length; counter ++) //检查字符是否合法rn rn bt = m_edit_TxData.GetAt(counter);rnrn if(!((bt == ' ') || ((bt >= '0') && (bt = 'a') && (bt = 'A') && (bt < TxData_length) //将当前十六进制字符串转换成字符串发送rn rn bt = m_edit_TxData.GetAt(counter);rn if(bt == ' ') //当前字符为空格符则跳过至下一个字符 rn rn counter ++;rn rn else if((m_edit_TxData.GetAt(counter + 1) == ' ') || (counter + 1 >= TxData_length)) //当前下一个字符为空格符 或 当前字符位置为尾部,即1位十六进制符,如"123" "123 45" 字符串中的3rn rn //转换成相应16进制数rn if((bt >= '0') && (bt = 'a') && (bt = 'A') && (bt = '0') && (bt = '0') && (bt_2 = 'a') && (bt_2 = 'A') && (bt_2 = 'a') && (bt = '0') && (bt_2 = 'a') && (bt_2 = 'A') && (bt_2 = 'A') && (bt = '0') && (bt_2 = 'a') && (bt_2 = 'A') && (bt_2 + 10));rn counter +=2;rn rn rn rn rn m_comm.SetOutput(COleVariant(TxData_temp)); //发送数据rn break;rn rnrn[/code]rnrnrn[img=https://img-bbs.csdn.net/upload/201510/09/1444391693_428469.jpg][/img]
debug版本问题,而release版本却没有问题
很怪的<em>问题</em>啊,我的程序是<em>debug</em><em>版本</em>有很多<em>问题</em>,比如运行时出现错误,有时能死掉,此时msdev占用着90%左右的cpu资源,而<em>release</em><em>版本</em>却没有这些<em>问题</em>,请问这是什么原因啊,我该怎么解决呢?
线程池的问题debug版本出错,release问题
我实现了一个简单的线程池类,做demo程序时,<em>debug</em><em>版本</em>结束时出现一个错误,经追踪大概的意思是:堆分配时有一个指针来自其他堆。rn改成<em>release</em><em>版本</em>后,就不出现上述<em>问题</em>了。rn给个大概的解释
winform程序的debugrelease版本问题
看到C# winform程序有<em>debug</em>和<em>release</em>两种,编译完成正常用的话用<em>release</em>,这个速度快一些。但这两个在哪选?我生成的怎么都在<em>debug</em>文件夹下?还是只有VC有这两种区别,C#没有?
关于VC的Release和Debug版本问题
问个<em>问题</em>:rn比如我想单步调试:testcase.dll (<em>debug</em> version)rn但要使用 Guicontrol.exe 来调用 testcase.dllrnrn我试了一下if Guicontrol.exe is <em>debug</em> version, ok; if it is <em>release</em> version, fail.rnrn我想确认一下是否如果Guicontrol.exe是<em>release</em> version时就不能单步调试?rn(我担心是我的配置不对)rn
一个关于debugrelease版本的奇怪问题
我写了一段代码怎么编译都没<em>问题</em>rn他在<em>debug</em>下运行没有<em>问题</em>但是在<em>release</em>下运行就有<em>问题</em>~!!!!rn错误提示:unable to start “f:\VS2008\我的工程\0.exe”???rn程序由3个头文件与一个cpp文件组成:rn[color=#FF0000]//////////////Soldier.h//////////////////////[/color]rntypedef unsigned UINT;rnrnclass Soldierrnpublic:rn UINT Getitems;rn UINT Packingitems;rnUINT Alltime()rnreturn (Getitems+Packingitems);rnrnvoid GL()rnGetitems=0;rnPackingitems=0;rnrnSoldier()rnGetitems=0;rnPackingitems=0;rnrn;rn[color=#FF0000]////////Troops.h////[/color]rn#include"Soldiers.h"rnclass Troopsrnpublic:rnfriend Soldier HG(Soldier &soldiersX,int a);rnUINT MinTime;rnSoldier soldiers[200];rnUINT TheNumOfSoldier;rnvoid SoldierSort();rnvoid SoldierDistribution();rn;rn[color=#FF0000]//////Function.h///[/color]rnSoldier HG(Soldier &soldiersX,int a);rnstatic Soldier axDUWU1TEMPBING;rnstatic Soldier axDUWU2TEMPBING;rnvoid Troops::SoldierSort()rnSoldier temp;rnUINT i,j;rnfor(i=0;i=soldiers[i].Packingitems)rntemp=soldiers[j];rnsoldiers[j]=soldiers[i];rnsoldiers[i]=temp;rnrnvoid Troops::SoldierDistribution()rnUINT i,j,k;rnj=k=1;rnSoldier DUWU1TEMPBING;rnSoldier DUWU2TEMPBING;rnSoldier DUWU1[200];rnSoldier DUWU2[200];rnDUWU1[0]=soldiers[0];rnDUWU2[0]=soldiers[1];rnDUWU1TEMPBING=HG(soldiers[0],1);rnDUWU2TEMPBING=HG(soldiers[1],2);rnfor(i=2;i=DUWU2TEMPBING.Packingitems)rn DUWU1[j]=soldiers[i];j++;rn DUWU1TEMPBING=HG(soldiers[i],1);rnelsern DUWU2[k]=soldiers[i];k++;rn DUWU2TEMPBING=HG(soldiers[i],2);rnif(DUWU1TEMPBING.Alltime()>=DUWU2TEMPBING.Alltime())rnMinTime=DUWU1TEMPBING.Alltime();rnaxDUWU1TEMPBING.GL();rnaxDUWU2TEMPBING.GL();rnelsernMinTime=DUWU2TEMPBING.Alltime();rnaxDUWU1TEMPBING.GL();rnaxDUWU2TEMPBING.GL();rnrn[color=#FF0000]////////main.cpp////[/color]rn#include"Troops.h"rn#include"Function.h"rn#includern#includernusing namespace std;rnSoldier HG(Soldier &soldiersX,int a)rnrn Soldier TEMPBING;rnif(a==1)rnTEMPBING.Getitems=axDUWU1TEMPBING.Getitems+soldiersX.Getitems;rn if(axDUWU1TEMPBING.Packingitems>=soldiersX.Alltime())rn TEMPBING.Packingitems=axDUWU1TEMPBING.Alltime()-TEMPBING.Getitems;rn elsern TEMPBING.Packingitems=soldiersX.Alltime()+axDUWU1TEMPBING.Getitems-TEMPBING.Getitems;rn axDUWU1TEMPBING=TEMPBING;rnreturn axDUWU1TEMPBING; rnrnelsernTEMPBING.Getitems=axDUWU2TEMPBING.Getitems+soldiersX.Getitems;rnif(axDUWU2TEMPBING.Packingitems>=soldiersX.Alltime())rn TEMPBING.Packingitems=axDUWU2TEMPBING.Alltime()-TEMPBING.Getitems;rnelsernTEMPBING.Packingitems=soldiersX.Alltime()+axDUWU2TEMPBING.Getitems-TEMPBING.Getitems;rnaxDUWU2TEMPBING=TEMPBING;rnreturn axDUWU2TEMPBING;rnrnint main( )rnUINT R,i,j;rnTroops troops[10];rnSoldier HG(Soldier &soldiersX,int a);rncout<<>R;rnfor(i=0;i>troops[i].TheNumOfSoldier;rnfor(j=0;j>troops[i].soldiers[j].Getitems;rncout<<>troops[i].soldiers[j].Packingitems;rnrnrncout<<
debugrelease版本dll混用导致的问题
最近在调试程序的时候有一个现成的模块为了方便直接copy了一个<em>release</em><em>版本</em>的dll过来。在调试的时候发现了一个指针访问的<em>问题</em>。在执行一个dll中的函数的时候导致了这个<em>问题</em>。估计是<em>debug</em><em>版本</em>和<em>release</em><em>版本</em>dll的函数地址不同, 单是从lib到定位到dll对象或者函数地址位置的原理是什么, 这还是个<em>问题</em>。...
VC中DEBUG 和RELEASE版本问题
为什么我的程序,在DEBUG的运行程序运行是没<em>问题</em>的,但是在RELEASE的运行程序运行直接就有<em>问题</em>(程序自动消失\结束).请各位帮我解决下这个<em>问题</em>,这个<em>问题</em>是什么原因导致的,如何解决,谢谢
有关CButton控件Debug和Release版本问题
我把一个CButton控件关联到一个自己写的CMyButton上,编译后没有错误和警告,能够运行。程序应该没有错误。但当关闭对话框时,在Debug<em>版本</em>会弹出一个对话框,显示:rnDebug Assertion Failed!rnProgram:略rnFile:wincore.cpprnLine:980rn...rn而在Release<em>版本</em>下这没有这个<em>问题</em>。rn请问原因是什么?rnrn为了证明不是程序的错误,我直接把一个CButton控件关联到另一个CButton控件上,不写移行代码,也有同样的<em>问题</em>。
Debug和Release版本运行速度相差太大的问题
大家好,我遇到一个Debug<em>版本</em>程序和Release<em>版本</em>程序运行速度相差非常大的<em>问题</em>。我需要通过一系列步骤校正总共500多M的200多块数据,同样的代码,如果用Release版,总共大约17秒,如果Debug版大约25秒进度1%,我非常不解。rn 具体的代码有点乱就不贴了。一开始我以为是TRACE和ASSERT用的太多,于是都注掉了,发现还是很慢。我现在怀疑是不是因为大量用了STL的map和hash_map。另外用的都是模板函数,不知道有没有影响。rn 总之,一模一样的代码,切成Debug和切成Release,速度天上地下,不知道有没有人也遇到这种情况的,望指教!
请教关于DeBug与Release版本问题
今天做了个小练习。rn开始在Release下做的测试,能运行。但是改成了DeBug就报错了。rn结果发现 Release<em>版本</em>下的 TV_INSERTSTRUCT是TV_INSERTSTRUCT;而DeBug<em>版本</em>就自动把TV_INSERTSTRUCT变成了TV_INSERTSTRUCTW。rnrn不清楚为什么?请高手解答!rnrnrn还有就是为什么DeBug与Release两个<em>版本</em>这么不兼容?因为我多次碰到这样一个<em>问题</em>:在DeBug运行没<em>问题</em>但在Release就会报错,在Release运行没<em>问题</em>但在DeBug同样会报错。为什么会这样呢?rn
动态库Debug和Release版本的调用问题
用WIN32工程封装了个动态库,然后写了个DEMO程序进行测试,发现Debug<em>版本</em>的程序只能调用Debug版的动态库,调用Release<em>版本</em>的动态库会出现异常。而Release程序也只能调用Release<em>版本</em>的动态库。网上有人说这种情况也属于正常现象,但用别人Release<em>版本</em>的dll时不管自己的程序是Debug还是Release都可以运行啊。请问该如何解决?
制作CAB,debugrelease版本问题
我制作CAB时,添加的EXE是Debug<em>版本</em>的,所以生成的CAB比较大,rn我想用 <em>release</em><em>版本</em>的,结果打包成功后,然后copy到真机上,就运行不了了,而且也没有任何提示rn请问啥原因?rnrn有什么办法,能使生成的cab添加<em>release</em><em>版本</em>的EXE?
vs编译编译debugrelease版本问题
vs编译编译<em>debug</em>和<em>release</em><em>版本</em>的<em>问题</em> <em>问题</em>描述 <em>debug</em><em>版本</em> –编译正常,使用正常 <em>release</em><em>版本</em>–编译正常,使用时逻辑错误 发现原因 抽象描述:在编译<em>release</em><em>版本</em>时,由于该方式编译的优化,导致类的多态出现<em>问题</em> 具体描述:编译器对<em>release</em><em>版本</em>的编译过程中,对没有赋值,需要过滤的对象没有过滤出去,而进行多态的向下转换时编译器将未赋值的变量进行赋值了...
关于Debug和Release版本的程序的问题
Debug<em>版本</em>的程序能够正常运行,但Release<em>版本</em>的就不能,跟踪了半天是在一处发送消息的地方有非法访问操作rnrnSendMessage(MYMESSAGE,0,0);rn或者:::SendMessage(this->m_hWnd,MYMESSAGE,0,0);
网络编程中,release debug版本问题
今天出了一个很纳闷的<em>问题</em>,经过几天的努力,我编写的网络程序在DEBUG<em>版本</em>调试成功,却在RELEASE<em>版本</em>出了<em>问题</em>,ret=connect(socket1,(LPSOCKADDR)&local,sizeof(local));如果服务器没有启动,客户端在<em>debug</em><em>版本</em>用这条语句返回值为ret=-1,表示没有连接服务器成功,而在<em>release</em><em>版本</em>却不一样,表示却服务器连接成功,这条语句的返回值为ret=0,但实际上服务器并没有启动.为什么会有不同的结果呢?
nagios监控windows插件下载
nagios监控windows64位插件 相关下载链接:[url=//download.csdn.net/download/yjicp/5434489?utm_source=bbsseo]//download.csdn.net/download/yjicp/5434489?utm_source=bbsseo[/url]
C++内存管理下载
详解C++内存管理,让你能更好地理解C++的内存机制 相关下载链接:[url=//download.csdn.net/download/caror109/5858697?utm_source=bbsseo]//download.csdn.net/download/caror109/5858697?utm_source=bbsseo[/url]
西门子工业网络通信指南下载
西门子工业网络通信指南,指导您学会合理的使用西门子工业的有关网络的布局。 相关下载链接:[url=//download.csdn.net/download/chenjinchenghaoren/6443649?utm_source=bbsseo]//download.csdn.net/download/chenjinchenghaoren/6443649?utm_source=bbsseo[/url]
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件
我们是很有底线的