社区
C++ Builder
帖子详情
关于__fastcall、__pascal、__stdcall、__cdecl
willcheng
2004-08-13 04:41:49
请问
四个调用约定分别都什么区别?
什么时候用那种?
我见一程序普通的类成员全是__fastcall,而几个线程函数用了__stdcall
请问这样是否合理?
...全文
236
13
打赏
收藏
关于__fastcall、__pascal、__stdcall、__cdecl
请问 四个调用约定分别都什么区别? 什么时候用那种? 我见一程序普通的类成员全是__fastcall,而几个线程函数用了__stdcall 请问这样是否合理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
specialkid
2004-09-27
打赏
举报
回复
高
3996906
2004-08-16
打赏
举报
回复
对对~~~~~~~API一般都是pascal方式的
__fastcall实质上就是Pascal的方式
binbin
2004-08-14
打赏
举报
回复
搞定了?
dhfly
2004-08-14
打赏
举报
回复
c++primer也讲了
问题生
2004-08-14
打赏
举报
回复
人家不是又名么,以后再说~~~
关注中`````
Behard
2004-08-14
打赏
举报
回复
好像 API 是 PASCAL 方式的吧
3996906
2004-08-13
打赏
举报
回复
呵呵,见笑见笑~~~~~~
yjy1001
2004-08-13
打赏
举报
回复
给说完了.....
3996906
2004-08-13
打赏
举报
回复
哎~~~~~~~~还是没排好版~~~~~~~
这是李维在Inside VCL中说的~~~~~慢慢体味吧~~~~~~
3996906
2004-08-13
打赏
举报
回复
手上有书,给你个详细的
调用惯例 参数传递顺序 谁负责清除参数 参数是否使用暂存器register 从左到右 被调用函数 是
pascal 从左到右 被调用函数 否
cdecl 从右到左 调用着 否
stdcall 从右到左 被调用函数 否
safecall 从右到左 被调用函数 否
luckcystar
2004-08-13
打赏
举报
回复
相关的说明,在MSDN中可以得到详细的解说
aliker
2004-08-13
打赏
举报
回复
一般VCL的方法默认用__fastcall,也就是寄存器传递参数,特点是速度快。
__stdcall一般用在API函数,用栈传递参数。
可以看一下帮助。
cczlp
2004-08-13
打赏
举报
回复
没有合不合理的,只不过参数传递方式不一样。__fastcall是尽量使用寄存器传递,__stdcall在做DLL时很有用。听楼下详解。
函数的调用规则(__
cd
ecl
,__
std
call,__
fast
call,__
pascal
)
函数的调用规则(__
cd
ecl
,__
std
call,__
fast
call,__
pascal
) 关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是...
链接库知识锦集
函数调用约定有:__
std
call,__
cd
ecl
,__
fast
call,__thiscall,__nakedcall,__
pascal
按照参数传递顺序分类: 1. 从右到左入栈:__
std
call、__
cd
ecl
、__thiscall(都是两个下划线) 2. 从左到右入栈:__
pascal
、__...
MingW VC 之.a .lib .dll .def 关系
关于函数调用约定__
cd
ecl
还是 __
std
call。我们可以在输出函数名前添加,也可以用cl编译的时候指明 /Gd 使用 __
cd
ecl
调用约定 (C d
ecl
aration,是C和C++默认格式),手动堆栈平衡(支持可变参数) /Gz 使用 __
std
call ...
PaxCompiler_v2.1_27nov08 full source
Script-defined functions support register (Borland
fast
call),
cd
ecl
,
std
call, safecall,
pascal
and ms
fast
call (Microsoft
fast
call) calling conventions. The default calling convention is
std
call. (You ...
PaxCompiler v3.1 DateCode 2012/12/17 Full Source
Script-defined functions support register (Borland
fast
call),
cd
ecl
,
std
call, safecall,
pascal
and ms
fast
call (Microsoft
fast
call) calling conventions. Cross-language programming support. You can use ...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章