
C++/VC++
文章平均质量分 56
xiexiaopingroma
这个作者很懒,什么都没留下…
展开
-
钩子(Hook)教程
基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子原创 2010-03-21 09:21:00 · 2856 阅读 · 0 评论 -
_StdCall调用约定
被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传), 函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。 1、_stdcall是Pascal方式清理C方式压栈,通常用于Win32 Api中,函数采用从右到左的压栈方式, 自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@原创 2010-03-21 15:41:00 · 576 阅读 · 0 评论 -
Win32_静态链接库(一)
1.这里选择的是Win32静态链接库。 LibTest.h #pragma once extern "C" int add(int a ,int b ); LibTest.cpp #pragma once #include "LibTest.h" in原创 2010-03-21 21:43:00 · 894 阅读 · 0 评论 -
Win32_动态链接库(二)
1.“文件”—>"新建"—>“空项目” #include "windows.h" #include "stdio.h" #pragma comment(lib,"..//Debug//XXP_DLL_Test.lib") extern "C" __declspec(dllimport) int AddFun(int a,int b); //导入动态链接库的A原创 2010-03-21 22:40:00 · 501 阅读 · 0 评论 -
DLL中导出函数声明的两种方式
1.在函数声明器那面加上__declspec(dllexport)2.另种方式是采用模块定义文件(.def),def文件为连接器提供了有关被连接程序的导出,属性以及其他信息 def文件的规则: (1)LIBRARY语句说明.def文件相应的DLL; (2)EXPORTS语句后列出要导出函数的名称。可以在.def文件中导出函数名后加@n,表示要导出的函数的序列号为n原创 2010-03-21 23:13:00 · 646 阅读 · 0 评论 -
Win32_动态链接库_LoadLibrary(三)
DLL.h 文件#pragma once //extern "C" int __declspec(dllexport) __stdcall AddFun(int a ,int b ); DLL.cpp 文件#pragma once#include "DLL.h"int __stdcall AddFun(int a,int b){ return a原创 2010-03-27 22:35:00 · 2108 阅读 · 0 评论 -
Win32_动态链接库_导出DLL中的变量(四)
Lib.H文件: #ifndef LIB_H#define LIB_Hextern int dllGlobarVar;#endif dllmain.cpp文件:// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "stdafx.h"#include "lib.h"int dllGlobarVar;BOOL原创 2010-04-01 22:09:00 · 1007 阅读 · 0 评论 -
IOCP使用时常见的几个错误
<br />在使用IOCP时,最重要的几个API就是GetQueueCompeltionStatus、WSARecv、WSASend,数据的I/O及其完成状态通过这几个接口获取并进行后续处理。<br />GetQueueCompeltionStatus attempts to dequeue an I/O completion packet from the specified I/O completion port. If there is no completion packet queued,转载 2010-10-19 20:21:00 · 1858 阅读 · 0 评论 -
网络通讯模型
<br />老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。<br /> 这和Socket模型非常类似。下面就以老陈接收信件为例讲解Socket IO模型。<br /><br />一:select模型<br /> 老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信,在这种情况下,“下楼检查信箱”然后回到楼上耽误了老陈太多的时间,以至于老陈无法做其他工作。<br /> select模型和老陈的这种情况非常相似:周转载 2011-03-17 15:55:00 · 3737 阅读 · 0 评论