EVC编程知识点2

1、Debug 和 Release 编译方式的本质区别

  Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。实际上,Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本。

 

 

2、

RECT

Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

这是windows广泛采用的一种数据结构,通常作为参数传递给许多api函数。RECT结构表示一个矩形区域,left和top字段描叙了矩形第一个角(通常是左上角),right和bottom字段描叙了矩形的第二个角(通常是右下角)。这两个位置决定了矩形的大小与位置。这些字段采用的单位及坐标系统取决于当前的有效缩放比例、准备表示的对象以及准备调用的api函数。并不要求bottom字段的绝对值大于top字段,而且也可以为负数。由right及bottom字段指定的点通常不是矩形的一部分;矩形对象描叙的是个空矩形(其中不包含像素);RECT结构要求按引用传递给windows函数,不要试图使用ByVal。

 

CRect类与窗口结构RECT相似。

CRect类含有一系列用于操作CRect对象和窗口结构RECT的成员函数。一个CRect类的对象可以作为类型为RECT结构,LPCRECT或是LPRECT的函数参数。CRect类由结构tabRECT派生而来(tagRECT是结构RECT不常用的名称)。这就意味着结构RECT的数据成员都能从类CRect中获得。由类CRect确定的矩形有常规矩形和非常规矩形之分。所谓常规矩形是指矩形左边的坐标值小于右边的坐标,矩形上边坐标小于下边的坐标值。例如一个矩形左上角坐标为(10,10),右下角坐标为(20,20),则这个矩形为常规矩形,如果左上角坐标定义为(20,20),右下角定义为(10,10)则这个矩形为非常规矩形。如果一个矩形为非常规化的矩形,许多CRect类的成员函数返回错误的结果。如果一个函数需要的是一个常规化的矩形,则调用该函数之前,可以利用“NormalizeRect”函数常规化非常规矩形。

你可能感兴趣的:(数据结构,编程,windows,优化,api,编译器)