C++ 学习笔记(2)

1、在windows程序中,经常会用到这种位标志标识符,如:style = CS_HREDRAW | CS_VREDRAW ; CS_HREDRAW  = 0x0001 ; CS_VREDRAW  = 0x0002;

2、窗口过程函数:是一个回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时,由另一方调用的,用于对该事件或条件进行响应。

3、回调函数的使用方法

      1)定义一个回调函数。

      2)定义方,在初始化时,将回调函数的指针传注册给调用者。

      3)  当事件或条件发生时,调用者使用指针回调该函数。

4、_cdecl 和 _stdcall

__cdecl 是C DECLaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。

  _stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除,使用的指令是 retnX,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间。称为自动清栈。函数在编译的时候就必须确定参数个数,并且调用者必须严格的控制参数的生成,不能多,不能少,否则返回后会出错。

int  WINAPI  WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
)

【说明】

#define WINAPI     __stdcall

typedef  CHAR  *LPSTR,  *PSTR;

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值