社区
VC.NET
帖子详情
关于“_stdcall”关键字的定义问题
Cash0627
2005-07-21 08:25:45
我在《visual c++.net语言参考手册》一书中看到“_stdcall”关键字,其中有些描述不太懂,希望高手帮忙解释一下:
1、堆栈维护责任:
被调用的函数从堆栈中弹出自己的参数
2、命名修饰约定:
在名称前加上下划线:将@符号以及后面的参数列表的字节数(十进制)加到名称后。因此,声明为int func(int a,double b)的函数经过修饰后变为:_func@12
...全文
93
1
打赏
收藏
关于“_stdcall”关键字的定义问题
我在《visual c++.net语言参考手册》一书中看到“_stdcall”关键字,其中有些描述不太懂,希望高手帮忙解释一下: 1、堆栈维护责任: 被调用的函数从堆栈中弹出自己的参数 2、命名修饰约定: 在名称前加上下划线:将@符号以及后面的参数列表的字节数(十进制)加到名称后。因此,声明为int func(int a,double b)的函数经过修饰后变为:_func@12
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vrace
2005-07-22
打赏
举报
回复
这个只是众多调用方式中的一种。如果你不用汇编,或者你不搞破解,没必要研究它。
比如说,一个 stdcall 的函数 MessageBox
/* C code */
MessageBox(0, "Hello", "Hi", MB_OK);
用汇编就是(类似哈,用汇编当然不是这样写的)
push MB_OK
push offset szHi
push offset szHello
push 0
call MessageBox
再如, printf 函数,是另一种调用方式
/* c code */
printf("Test %s", aaa);
; asm
push 0
push offset szTest
call printf
add esp, 4 *2
自己看看
TEST DLL (__
std
call)
TEST DLL (__
std
call) 主要测试生成动态链接库与调用
动态链接库(
std
call def 等等)(博客相关代码)
博客中用到的代码 http://blog.csdn.net/silyvin/article/details/8984885
C++builder调用VCdll.pdf
C++builder调用VCdll.pdf
vc调用dev-c++动态链接库dll示例
描述了如何从vc中调用dev-c++写的dll的过程与方法。 1、设置导出
关键字
__
std
call 2、修改vc调用方式为
std
call 3、实现函数调用call
VC++使用
关键字
_declspec (dllexport)导出函数
摘要:VC/C++源码,其它分类,
关键字
VC++使用
关键字
_declspec (dllexport)导出函数,编译后将生成Test.dll文件。
VC.NET
7,539
社区成员
27,671
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章