typedef的用法求解
#include<ioseream>using namespace std;
typedef void*GETCODELENGTH(PVOID code,DWORD *len)
int main()
{
unsigned char dis =
{
0xE9, 0x0A, 0x08,
0x00, 0x00, 0xE8,
0x19, 0x08, 0x00,
0x00, 0x00, 0x08,
0x00, 0x00, 0x00, 0x08,
};
GETCODELENGTH GetCodeLength;
GetCodeLength = (GETCODELENGTH)dis;
int *patchCodeLen;
while (*patchCodeLen<5)
{
GetCodeLength( (PVOID) (oldFunctionAddress+*patchCodeLen), &len);// 求这句代码执行的是什么 反汇编在CALL里面完全转晕了
*patchCodeLen = *patchCodeLen+len
}
} 这段代码哪里的?无法通过编译
感觉你好像在自创语法 typedef void*GETCODELENGTH(PVOID code,DWORD *len)这样定义是不对的
typedef void(*GETCODELENGTH)(PVOID code,DWORD *len) *GETCODELENGTH要用括号括起来,说明是函数指针,并且声明为新的数据类型,在定义变量的时候指向返回值为void和参数为PVOID和DWORD类型的函数 楼上正解
页:
[1]