摘要:一、Debug和Release编译方式的本质区别Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug和Release的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd/Fo,但区别并不重要,通常他们也不会引起Release版错误,在此不讨论)Debug版本:/MDd/MLd或/MTd使用Debugruntimelibrary(调试版本的运行时刻函数库)/Od关闭优化开关/D"_DEBUG&
阅读全文
摘要:在VC程序中使用调试语句为了更好地对程序调试,可以使用如下方法:使用断言、使用跟踪语句、使用异常和返回值。一、断言1、基本概念 断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。 断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错误的发源地的地方发现错误。断言具有以下特征:.断言是用来发现运行时刻错误的,发现的错误是关于程序实现方面的。.断言中的布尔表达式显示的是某个对象或者状态的有效性而不是正确性。.断言在条件编译后只存在于调试..
阅读全文
摘要:理解内核对象,先要了解什么是内核。内核可以理解为一个人的大脑,我们知道大脑能控制一个人的行为,但是大脑并不是直接控制,而是是通过神经来传递命令,内核对象就是操作系统的神经。内核对象实际上就是一些只有内核才能访问的内存数据,内核通过访问这些数据来完成对系统的控制,上层可以看到内核对象,并执行对它的一些操作,但是却无法访问这些数据。进程、线程、作业等都是内核对象,你可以操作它们却不能访问它们。
阅读全文