⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_64346.htm

📁 vc
💻 HTM
字号:
<p>
序号:64346 发表者:张张999 发表日期:2003-12-10 11:25:25
<br>主题:请众高手指点:_stdcall特殊调用序列?
<br>内容:《windows程序设计》第44页中写道<BR>_stdcall : 指在windows本身和用户的应用程序之间发生的函数调用的特殊调用序列。<BR>我依旧不明白 _stdcall callback 等到底是什么意思,<BR>那位高手帮忙指点迷津,谢谢。或那本书有解释。<BR>谢谢!!!!!!!!!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:wafer 回复日期:2003-12-10 13:10:12
<br>内容:_stdcall这个关键字定义了在函数调用完成以后,如何清除栈。<BR>如果用_stdcall,则函数自己清除。所以在跨平台开发时,都是用_stdcall。<BR>如果用_cdecl,则栈的清除由调用者完成。这样的话,由于不同编译器产生栈的方式不尽相同,所以可能不会正常完成。 <BR><BR>但是,当遇到象fprintf()这样的参数可变、不定长的函数,被调用者事先无法知道参数的长度,事后的清除工作也无法正常的进行,因此,这种情况下就用_cdecl.<BR><BR>callback就是系统自动调用的函数,不需要你去调用。但你要告诉系统在什么情况下去调用,比如,在系统收到什么message时。<BR><BR>不光是user mode,在kernel mode 中也常用到此类函数,比如,你通过摄像头取数据,你希望driver拿满一帧后就显示在ap的界面上,这时候你就需要把显示函数做成Callback的,然后系统拿到数据后就自动调用显示函数完成显示,不需要你来干预了。 <BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:张张999 回复日期:2003-12-10 14:17:20
<br>内容:太好了,谢谢!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -