共 10 篇文章 |
|
DllMain带有三个参数,hModule表示本dll的实例句柄(听不懂就不理它,写过windows程序的自然懂),dwReason表示dll当前所处的状态,例如DLL_PROCESS_ATTACH表示dll刚刚被加载到一个进程中,DLL_PROCESS_DETACH表示dll刚刚从一个进程中卸载。所有的源代码包括DLL1.H,DLL1.CPP,DLL2.H,DLL2.CPP,Client.cpp。当然,记得在编译dll时加上参数/D ... 阅5 转自凡尘一滴 公众公开 10-10-09 15:11 |
微软的Visual C++支持三种DLL,它们分别是Non-MFC Dll(非MFC动态库)、Regular Dll(常规DLL)、Extension Dll(扩展DLL)。LIB文件中包含DLL文件名和DLL文件中的函数名等,该LIB文件只是对应该DLL文件的"映像文件",与DLL文件中,LIB文件的长度要小的多,在进行隐式链接DLL时要用到它。该DLL编译成功后,打开工程中的Debug目录,同... 阅5 转自凡尘一滴 公众公开 10-10-09 15:10 |
②"MOVSW"指令将DS:SI所指向的存储单元中的一个字传送到ES:DI所指向的存储单元。程序段如下: MOV AX,2000H MOV DS,AX ;设置源串段地址 MOV AX,6000H MOV ES,AX ;设置目的串段地址 MOV SI,1200H ;设置源串偏移地址 MOV DI,2000H ;设置目的串偏移地址 ... 阅2886 转20 评0 公众公开 10-07-25 17:46 |
windows窗口的创建一、WINDOWS的消息和窗口简介:1、什么是windows在这里我就不介绍了,但是作为一个程序员我们要知道WINDOWS最重要的一个也是我们程序员常用的一个东西就是消息。该函数在程序的消息队列中插入一个WM_QUIT消息使GetMessage得到一个WM_QUIT的消息,它传回0,终止程序然后执行return msg.wparam; 七、队列化消息与非队列化消息: ... 阅2708 转39 评0 公众公开 10-07-15 13:56 |
WinCE实现了系统的虚拟内存管理,在一个虚拟内存系统中,应用程序主要处理这个分离(译者注:物理上可能分离,但系统将它们联系起来),虚拟的地址空间,因此并不涉及到由硬件管理的物理内存。当系统只有4MBRAM的时候,分配给应用程序32MB的虚拟地址空间看起来是比较合理的,Win32的程序员在使用这个2-GB的虚拟地址空间的时候,必须记住对Windo... 阅31 转自沧海九粟 公众公开 10-07-13 09:01 |
举例来说:一个应用程序包含两个线程,线程1是高优先级,线程2是低优先级,当线程1运行过程中处于阻塞时,线程2得到时间片,线程2这次进入了一个临界区,我们都知道临界区内的资源是不会被其它线程访问的,当线程2正运行时,线程1已经从阻塞状态转变为运行状态,而这次线程1却要访问线程2的资源,这个资源却被临界区锁定,那么线程1只能等待,... 阅34 转自沧海九粟 公众公开 10-07-13 09:01 |
阅84 转0 评0 公众公开 10-07-04 14:55 |
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。堆则是C/C++函数库提供的,它的机制是很复杂的,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),就有可能调用系统功能去... 阅2 转自ankle 公众公开 10-07-02 11:43 |
C 静态存储区 栈 堆的区别(zz)_刘鸿宇。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。但是堆区和静态存储区的生命周期相当于与程序的生命同时存在(如果您不在程序运行中间将堆内存delete的话),我们将这种变量或数据成为全局变量或数据。但是,对于堆区的内存空间使用更加灵活,因为它允许你在不需... 阅21 转自susfly 公众公开 10-07-02 11:14 |