- 2
- 0
- 约1.41千字
- 约 2页
- 2019-07-16 发布于江苏
- 举报
“没见过在C语言中调用C++的函数”、“C/C++不能调用Basic、Pascal语言的函数” 这又是一个奇天下之大怪的问题,“打死我都不相信C、C++、basic、pascal的函数能瞎调来调去”,可是有句话这么说: 没有你见不到的,只有你想不到的! 既然芙蓉姐姐也有其闻名天下的道理,那么C、C++、Basic、Pascal的函数为什么就不能互相调用呢? 能! 你可以用Visual C++写一个DLL在Visual Basic、Delphi(Pascal的孙子,Object Pascal的儿子)中调用,也可以在Visual Basic、Delphi中写一个DLL在Visual C++中调用不是? 让我们来透过现象看本质。首先看看函数的调用约定(以Visual C++来说明): (1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题:
#define WINAPI _stdcall
按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加“@”符号和参数的字节数,形如 _functionname@number。
(2) _cdecl调用 _cdecl是C/
您可能关注的文档
最近下载
- 教科版科学五年级上册科学知识点整理全.pdf VIP
- 新22S2 给水工程新疆图集资料.pptx VIP
- DL_T 1610-2016 变电站机器人巡检系统通用技术条件.pdf VIP
- 第2课时 十万有多大(课件)(共16张PPT)2026-2027学年北师大版四年级数学上册.pptx VIP
- 给排水国标图集-05S518雨水口.pdf VIP
- 深度解析(2026)《GBT 26721-2011 三氧化二砷》.pptx VIP
- 外科学—阑尾疾病.pptx VIP
- 黑布林英语阅读初三2《汤姆·索亚历险记》中文版.docx
- 国内业务培训常旅客操作.pptx VIP
- 一种易冲散的植物纤维面膜基布及其制备方法与应用.pdf VIP
原创力文档

文档评论(0)