• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
BeyondTechnology
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页
2011年3月27日
debug与release的区别
摘要: Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是 基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而 Release版本需要MFC42.DLL支持。Release Build不对源代码进行调试,不考虑MFC的诊断宏,使用的是MFC Release库,编译十对应用程序的速度进行优化,而Debug Build则正好相反,它允许对源代码进行调试,可以定义和使用MFC的诊断宏,采用MFC Debug库,对速度没有优化。 阅读全文
posted @ 2011-03-27 08:46 BeyondTechnology 阅读(1070) 评论(0) 推荐(0)
谈VC6中Debug版本与Release版本生成的Exe的差异
摘要: 用Vc6编写的程序有时候Debug版本好好的,Release版本运行就出错,很多人都遇到过这种问题。前几天又有人问起,于是找了点时间写下这篇东西。总结了一部分Debug版本和Release版本的区别,都是些个人理解,欢迎交流。 Debug版本和Release版本之所以有区别,就是在于各自的编译项不同。不同的编译项组合产生不同的代码,Debug版本的编译项屏蔽了编译器的优 化,增加了调试信息的输出。也就是说,可以通过修改编译项的组合,使得优化过的版本也包含调试信息。于是调试Release版本成为了可能。那就先说说调 试方面Debug做的工作。 提起Vc6的调试,不能不提的就是它的PDB(Prog 阅读全文
posted @ 2011-03-27 08:45 BeyondTechnology 阅读(1192) 评论(0) 推荐(0)
VC调试篇
摘要: 设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息,但是是不是Debug版本并不是程序包含调试信息的决定因素,程序设计者可以在任意的Configuration中增加调试信息,包括Release版本。为了增加调试信息,可以按照下述步骤进行: 打开Project settings对话框(可以通过快捷键ALT+F7打开,也可以通过IDE菜单Project/Settings打开) 选择C/C++页,Category中选择general ,则出现一个Debug Info下拉列表框,可供选择的调试 阅读全文
posted @ 2011-03-27 08:45 BeyondTechnology 阅读(517) 评论(0) 推荐(0)
Visual C++中的C运行时库浅析
摘要: 1.概论运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量 (例如errno)和静态变量,这可能在多线程程序中引起冲突。假设两个线程都同时设置errno,其结果是后设置的errno会将先前的覆盖,用户得不 到正确的错误信息。因此,Visual C++提供了两种版本的C运行时库。一个版本供单线程应用程序 阅读全文
posted @ 2011-03-27 08:43 BeyondTechnology 阅读(523) 评论(0) 推荐(0)
在VC中编译、运行程序的小知识点
摘要: 1、Run-Time LibraryRun-Time Library是编译器提供的标准库,提供一些基本的库函数和系统调用。 我们一般使用的Run-Time Library是C Run-Time Libraries。当然也有Standard C++ libraries。 C Run-Time Libraries实现ANSI C的标准库。VC安装目录的CRT目录有C Run-Time库的大部分源代码。 C Run-Time Libraries有静态库版本,也有动态链接库版本;有单线程版本,也有多线程版本;还有调试和非调试版本。 可以在"project"-"settin 阅读全文
posted @ 2011-03-27 08:39 BeyondTechnology 阅读(475) 评论(0) 推荐(0)
使用CRT调试功能来检测内存泄漏
摘要: C/C++ 编程语言的最强大功能之一便是其动态分配和释放内存,但是中国有句古话:“最大的长处也可能成为最大的弱点”,那么 C/C++ 应用程序正好印证了这句话。在 C/C++ 应用程序开发过程中,动态分配的内存处理不当是最常见的问题。其中,最难捉摸也最难检测的错误之一就是内存泄漏,即未能正确释放以前分配的内存的错误。偶尔发生的少量内存泄漏可能不会引起我们的注意,但泄漏大量内存的程序或泄漏日益增多的程序可能会表现出各种 各样的征兆:从性能不良(并且逐渐降低)到内存完全耗尽。更糟的是,泄漏的程序可能会用掉太多内存,导致另外一个程序垮掉,而使用户无从查找问题的真正根源。此外,即使无害的内存泄漏也可能 阅读全文
posted @ 2011-03-27 08:37 BeyondTechnology 阅读(628) 评论(0) 推荐(0)
一些关于UI方面的知识
摘要: 参考以下链接http://hi.baidu.com/winnyang/blog/category/vc%20%BD%E7%C3%E6%2Cͼ%D0%CEͼ%CF%F3%2C%CA%FD%BEݿ%E2/index/0 阅读全文
posted @ 2011-03-27 00:06 BeyondTechnology 阅读(366) 评论(0) 推荐(0)
2011年3月26日
输入输出重定向
摘要: 常用的重定向:输出重定向:for exampleCMD下,当前目录为D盘, 把dir的输出结果重定向到data.txt中d: \>dir > data.txt把ConsoleDemo.exe输出到屏幕的内容重定向到output.txt文件中d:\>ConsoleDemo.exe > output.txt输入重定向:把input.txt文件的内容作为参数传递给ConsoleDemo.exeCMD下,当前目录为D盘,d:\>ConsoleDemo.exe < input.txt 阅读全文
posted @ 2011-03-26 23:58 BeyondTechnology 阅读(296) 评论(0) 推荐(0)
2011年3月25日
使用Custom Draw实现ListCtrl的重绘
摘要: common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几种,例如Owner Draw等)。这种容易来自于我们只需要处理一个消息(NM_CUSTOMDRAW),就可以让Windows为你干活了,你就不用被逼去处理"重绘过程"中所有的脏活了。这篇文章的焦点是如何在一个LISTCTRL控件上使用Custom Draw消息。究其原因,一部分是因为我已经在我 阅读全文
posted @ 2011-03-25 23:58 BeyondTechnology 阅读(4829) 评论(1) 推荐(1)
CUSTOMDRAW和OwnerDraw
摘要: 1.Owner Draw当Button控件被设置成OwnerDraw属性时,父窗体就会接受到WM_DRAWITEM、WM_MEASUREITEM、WM_COMPAREITEM、WM_DELETEITEM四个消息。除了Button空间外,还有ListBox控件设置CBS_OWNERDRAWVARIABLE属性。The WM_DRAWITEM message is sent to the owner window of an owner-drawn button, combo box, list box, or menu when a visual aspect of the button, co 阅读全文
posted @ 2011-03-25 22:40 BeyondTechnology 阅读(3800) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3