有谁知道_T和ASSERT的详细用途?

CFR 2000-01-27 10:25:00
1. _T和和ASSERT的详细用途.
2. 句柄到底是个什么东西,是不是类似于指针?
3. OnPrepareDC(&dc)有什么用,是不是一定要?
...全文
261 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
upstream 2000-01-28
  • 打赏
  • 举报
回复
xubin_sh的回答已经很完整。
CFR 2000-01-28
  • 打赏
  • 举报
回复
那么你们有关操作时用CDC类还是用句柄?涉及位图操作时用HBITMAP是否多?
VERIFY又有什么用?
mutant 2000-01-27
  • 打赏
  • 举报
回复
Assert是VC++提供的一个宏,主要用于调试程序。因为Assert宏依赖于_DEBUG的定义,所以调试完成后去掉它非常方便,只需要去掉_DEBUG的定义就可以了。
主要用于调试时可能会出现错误,但是正式版本里不会产生错误的地方,并且它还会提示出错的语句行,非常方便找出错误。
Int I;
...
Assert(I>=0); /* 断言 I 肯定大于等于 0 */
X=Sqr(I);
...
可能在程序调试时,I会出现小于0的情况(如程序有BUG),但是在正式版本里面肯定不会出现。
xubin_sh 2000-01-27
  • 打赏
  • 举报
回复
ASSERT需要_DEBUG的定义否则,简单返回,所以只用于调试版本
xubin_sh 2000-01-27
  • 打赏
  • 举报
回复
_T是一个宏,确保你的字符串在unicode和标准的编码能够自动转换,当你是unicode就在前面加一个L如L"abc"是unicode的"abc",用_UNICODE定义去判断,ASSERT也是一个宏用于判断参数是否有效的指针,如不是则退出程序,并跳出出错对话框

句柄是32整型,其实是一个指针,它指向Windows的一个结构,此结构由Windows内部维护,由于版本的不同,结构有可能会发生变化,而你的程序中用的是句柄,所以不会影响到你的程序,所以,在3.1下写的源程序有些可以不加修改的在95下编译,这些句柄有些在DDK中公布。

OnPrepareDC(&dc)用于准备dc,例如变换大小,坐标原点等以适应于不同的dc需求,多用于打印预览,可以不要
zdg 2000-01-27
  • 打赏
  • 举报
回复
1)_T是转换字符为Unicode字符, ASSERT在调试的时候能看到输出结果, 正式版本一般不用.
2)句柄就是一个32位的整数, 相当于一个指针
3)OnPrepareDC(&dc)准备DC的基本操作, 不一定非要用. MFC在一些函数中将它封装了.
panacea 2000-01-27
  • 打赏
  • 举报
回复
1._T是把你的字符转换成Unicode编码
2.ASSERT是让你能查看输出的结果,调试时使用会提示你错误的,很方便
3.句柄如同一个指针,指向你指定结构的地址,你要得到指向的东西,得先找到句柄

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧