51dev.com IT技术开发者社区

51dev.com 技术开发者社区

about clipping

about clipping

DC可以看成是被分配在矩形中的像素的集合,当DC没有任何限制时,DC中的任何一个像素都是可以被写的(所以DC中的任何区域都是可以绘制的)。当事实上DC内部维护着三种不同的区域,当DC被绘制时,DC会对其拥有的区域进行裁剪(clipping):系统区域(systemregion)系统区域又叫做可视区域,初始情况下系统区域...

DirectX OpenGL and WPF

DirectX OpenGL and WPF

DirectXOpenGL和WPF都有2D和3D的渲染引擎,只不过DirectX和OpenGL采用原始的C/C++式的封装,同时DirectX是以COM接口的形式提供的,OpenGL是C函数式库,而WPF提供的2D,3D功能则是以.net类库提供的,从性能上来说DirectX和OpenGL的原生代码比WPF的托管代码更...

user32.dll and gdi32.dll

user32.dll and gdi32.dll

user32.dll提供了用户界面相互的API,例如CreateWindow,MessageBox等等,但是其底层是使用gdi32.dll中的函数来实现窗口界面的绘制,具体参考文章:User32.dllLockthecomputer虽然该文并不是讨论user32.dll和gdi32.dll的关系,但是其中有一句话:Ma...

名字注册和解析

名字注册和解析

dynamicnamespacestaticnamespacepersistentnamespace...

折半查找

折半查找

//array为待查找数组//n为数组array的元素个数//key为查找的元素intBinarySearch(int*array,intn,intkey){inthead=0;inttail=n-1;intmiddle;while(head<=tail){middle=(head+tail)/2;printf(...

哈希查找

哈希查找

//将数组array通过除数取余法分散到hash数组中voidBuildHash(int*hash,int*array,intn){boolflag[HASH_LENGTH]={false};intindex;for(inti=0;i<n;i++){index=array[i]%HASH_LENGTH;if(!f...

Console学习

Console学习

1.ConsoleHandle(控制台句柄)1.1进程的三种标准句柄   每个console进程都有standardinput(STDIN),standardoutput(STDOUT),standarderror(STDERR)三种句柄与之相关联,当系统创建console进程时,系统默认...

顺序查找

顺序查找

//顺序查找//array为待查找数组//n为数组array的元素个数//key为查找的元素intSequenceSearch(int*array,intn,intkey){for(inti=0;i<n;i++){if(key==array[i]){returni;}}return-1;}顺序查找的时间复杂度为O...

控制台生成DLL文件的方法

控制台生成DLL文件的方法

编译生成DLL文件的方法:方法一:1.cl/cFasterString.cpp------->FasterString.obj2.lib/DEFFasterString.obj------->FasterString.expand FasterString.lib3.link/dllFasterS...

虚函数的调用过程

虚函数的调用过程

1.(movecx,dwordptr[ebp-0Ch])将this指针压入ecx2.(movedx,dwordptr[ecx])this指针指向该对象的首地址,而该处的前四个字节存放着该对象的虚函数表的首地址,将虚表指针放到edx中。3.(calldwordptr[edx+4])由于edx中存放着虚表指针,则edx+4...

中断和异常

中断和异常

1.中断和异常的概念以上定义摘自Intel官方文档80x86编程手册第三卷第五章InteruptandExceptionHandling。从中可以看出中断来自外围设备(peripheraldevices,这里指除了CPU)的通知(signalsfromhardware),而异常则是CPU在执行指令时遇到错误的条件(er...

一些学习网站

一些学习网站

美国大学公开课:http://ocwconsortium.org斯坦福大学公开课:http://ocw.mit.eduMIT公开课:http://ocw.mit.edu公开课:http://Academicearth.org http://www.binarytides.comhttp://stackover...

Structed Exception Handler 学习总结(五)

Structed Exception Handler 学习总结(五)

1. 系统处理异常的过程 2. 系统执行全局展开的流程 3. 关于编写函数时的错误处理方法 4. C++异常和结构化异常(SEH)的比较注意上文中划红色线的语句,我们得出结论:C++异常机制是由SEH机制来实现的。...

Structed Exception Handler 学习总结(四)

Structed Exception Handler 学习总结(四)

1. try-finally语句的基本形式__try{//guardedcode}__finally{//terminationhandler}terminationhandler无论在guardedcode以何种方式退出都会被调用。guardedcode的退出方式有如下三种:a.正常退出该代码块b.在执行g...

Structed Exception Handler 学习总结(三)

Structed Exception Handler 学习总结(三)

SEH的应用Windows操作系统和C/C++编译器虽然对SHE(结果化异常处理)提供了很好的支持,但是Win32API自身却并没有使用该机制来报告程序执行过程中出现的异常。Win32API对异常的处理是这样的:当有异常发生时,该API函数就会返回一些特定的值来表示函数调用失败了,这些值有,NULL,INVALID_H...