Debug 模式编译器往你的程序里加了很多东西,以便于调试,并且不做优化,程序比较大、比较慢;Release 模式编译器则致力于优化,把调试信息去掉了,程序小而且快。
发布EXE前,你需要 Project-->Default Options-->C++Builder-->弹出窗口 1.Build Configuration选择Release 2.C++ Compiler-->Debugging-->右侧取消Debug information和Debug line &number information前的对钩. 3.Link-->Linking-->右侧取消Dynamic RTL前的对钩. 4.Packages(在左侧树列表的最下方)-->取消右侧Build with runtime packages前的对钩. 编译时,如果要准备发布给客户,可以用Release方式编译,有以下两种方式: 1. Project-->Configuration Manager-->Configuratioin name选择Release-->Available projects列表中先选中要编译的工程-->点击Apply-->Close-->Project-->Build XXX就可以了。 2. 这种方法更简便,在Project Manager中展开要编译的工程-->继续展开Build Configuration-->双击Release-->编译就可以了。 以上据说的Build Configuration(编译配置)中的Release或Debug,仅仅指默认的配置名称,你可以自己更改这些名称。 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当头一棒啊,可是疼归疼,问题总要解决,下面将讲述一下我的几点经验,看看是不是其中之一:
2. 自定义消息的消息参数。 3. release模式下不出错,但debug模式下报错。 4. ASSERT, VERIFY, TRACE..........调试宏
1. 注意变量的初始化,尤其是指针变量,数组变量的初始化(很大的情况下另作考虑了)。 注1: 注2: NightWolf 网友提供:我遇见过,好像是在函数调用的时候参数入栈的问题。因为MFC的消息使用宏写的,所以如果定义了OnMessage()的函数,编译能够通过,但是调用一次后,堆栈指针发生了偏移。然后就。。。 (完) thanks
来源:http://hi.baidu.com/zkbucciarati/blog/item/dbe5e86e1f1f4bd880cb4a6a.html |
|