猿问
请问typedef A B;这句代码是把什么定义成了什么?
typedef DWORD (CALLBACK *LPFNREGISTER)(DWORD,DWORD);
CALLBACK是什么意思?
慕妹3146593
浏览 251
回答 1
1回答
catspeake
typedef A B的意思是把B当作和A一样的类型.你的语句定义了一个函数的类型,类型名字叫LPFNREGISTER,返回值为DWORD,该类型的函数有两个参数都是DWORD类型。CALLBACK是个在windows.h里面定义的常量,他是这么定义的#define CALLBACK __stdcall也就是在CALLBACK的位置,其实是个__stdcall,这是告诉编译器这个函数的调用方式。C语言中有不同的调用方式,比如__stdcall, __cdecl,这个参数是可以省略的,省略之后,编译器则默认为__cdecl的调用方式。但是,微软所有的API都是__stdcall,所以就必须要加上这个参数。你自己也可以定义函数的时候加上这个modifierint __stdcall Foo();另外,__stdcall在windows.h中有很多马甲,比较常见的两个是#define CALLBACK __stdcall#define WINAPI __stdcall
0
0
0
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
5 回答
数据结构
我要回答