社区
C语言
帖子详情
__cdecl和__stdcall是指什么意思?
i_doit
2002-06-03 08:46:52
同上。
...全文
51
4
打赏
收藏
__cdecl和__stdcall是指什么意思?
同上。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ttzzgg_80713
2002-06-03
打赏
举报
回复
o
rockhard
2002-06-03
打赏
举报
回复
函数func(int a,int b)
补充一点:
__cdecl函数被编译成:_func
__stdcall函数被编译成:_func@8 (8 为参数的字节数)
参看MSDN,上面写的很清楚。
晨星
2002-06-03
打赏
举报
回复
哦,原来如彼~~~~~
coppermine
2002-06-03
打赏
举报
回复
__cdecl----参数从右向左入栈,调用者清除栈
__stdcall----参数从右向左入栈,被调用者清除栈
函数的调用规则(__
cd
ecl
,__
std
call,__fastcall,__pascal)
函数的调用规则(__
cd
ecl
,__
std
call,__fastcall,__pascal) 关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是__
cd
ecl
方式,而windows API则是__
std
call,如果用vc开发dll给其他语言用,则应该
指
定__
std
call方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,如果是__
cd
ecl
方式的函数,则函数本身(如果不用汇编写)则不需要关心保存参数的堆栈的清除,但是如果是__
std
call的规则,一定要在函数退出(ret)前恢复堆栈。
_
std
call、_
cd
ecl
和_fastcall 的区别.zip
_
std
call、_
cd
ecl
和_fastcall 的区别.zip
易语言
cd
ecl
回调处理
易语言
cd
ecl
回调处理源码,
cd
ecl
回调处理,
std
call_to_
cd
ecl
,
std
call_to_
cd
ecl
_free,回调函数,test,VirtualAlloc,VirtualFree,set_data
关于函数调用方式__
std
call和__
cd
ecl
详解
关于函数调用方式__
std
call和__
cd
ecl
详解 __
std
call __
cd
ecl
两者的相同点与不同点 实例 __
std
call __
std
call的全称是standard call。是C++的标准调用方式。 函数参数的入栈顺序为从右到左入栈。函数返回时使用retn x
指
令,其中x为调整堆栈的字节数。这种方式叫做自动清栈。即被调用的函数的参数个数是固定的,调用者必须严格按照定义传递参数,一个不多,一个不少。 __
cd
ecl
__
cd
ecl
的全称是C D
ecl
aration,即C语言默认的函数调用方式。 函数参数的入栈顺序为从右到左入栈。函数返回时作用ret
指
令。由调用者手动清栈。被调
__
std
call 和 __
cd
ecl
的区别浅析
__
std
call 和 __
cd
ecl
的区别浅析,需要的朋友可以参考一下
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章