游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4708|回复: 5

回调函数中为什么要使用CALLBACK?

[复制链接]

21

主题

39

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2012-4-5 14:10:00 | 显示全部楼层 |阅读模式
疑惑了很久的问题
函数定义中为什么要使用CALLBACK?

不使用行不行?

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2012-4-5 18:27:00 | 显示全部楼层

Re:回调函数中为什么要使用CALLBACK?

调用约定来的

1

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2012-4-5 22:29:00 | 显示全部楼层

Re:回调函数中为什么要使用CALLBACK?

呵呵 因为回调函数永远不是需要你去调用的 那是给系统去调用的 系统调用函数的时候涉及调用约定 不同的调用约定有一定差别 CALLBACK是一个宏 展开后是__stdcall 我只了解到这种程度了 希望对你有帮助 没加标点 凑合看吧 呵呵

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2012-4-6 14:45:00 | 显示全部楼层

Re:回调函数中为什么要使用CALLBACK?

回调函数不一定要加CALLBACK的前缀,加stdcall也一样,加WINAPI也一样,一般来说,自己做的回调只是一种函数指针的调用,并不是真正意义上的消息事件回调。不过原理也是一样的,由系统来调用,让系统来看着办增加了程序的灵活性和效率
喵喵,游戏里自己做一个消息系统,再配一个消息泵,由消息泵分发消息到各个回调函数,框架上会更好看哈

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2012-4-7 13:12:00 | 显示全部楼层

Re:回调函数中为什么要使用CALLBACK?

上面有人说过了,CALLBACK只是MS定义的个宏,代表“__stdcall”,这是个函数调用约定。

函数调用约定有很多种:stdcall、cdecll、fastcall...
如果你不太明白这些是什么的话,请自行搜索下吧。

0

主题

15

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2012-5-14 20:39:00 | 显示全部楼层

Re:回调函数中为什么要使用CALLBACK?

调用约定,CALLBAKC在VMSC中相当于__stdcall,还有WINAPI。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-28 13:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表