我正在查看SDL库中的一些代码,并遇到了一个声明如下的函数:
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
现在,我是德尔福编码器.没有hablo C muy bien,先生.但是我记得我的大学课程中有足够的语法来读它:
函数名称是WndProc.参数列表非常明显.函数返回类型是LRESULT.但是世界上那个"CALLBACK"在那里做什么呢?在Delphi中,任何函数都可以用作回调函数; 你只需要传递正确类型的函数指针.有什么特别的原因导致C不能这样工作吗?或者它意味着什么不同?
"CALLBACK"是一种调用约定.还有其他类型的调用约定.CALLBACK与__stdcall相同.
http://www.codeguru.com/cpp/cpp/cpp_mfc/callbacks/article.php/c10557
Raymond Chen博客上的更多信息:
http://blogs.msdn.com/oldnewthing/archive/2004/01/08/48616.aspx