如果动态库中导出的函数声明是:
extern "C" __declspec(dllexport) __stdcall int mydllfunc(int);
我在使用动态库时导入:
extern "C" __declspec(dllimport) int mydllfunc(int);
和
extern "C" __declspec(dllimport) int __stdcall mydllfunc(int);两种声明都是正确的吗?两种情况有什么区别?
extern "C" __declspec(dllexport) __stdcall int mydllfunc(int);
我在使用动态库时导入:
extern "C" __declspec(dllimport) int mydllfunc(int);
和
extern "C" __declspec(dllimport) int __stdcall mydllfunc(int);两种声明都是正确的吗?两种情况有什么区别?
解决方案 »
- 求高手指错,我想通过点击按钮,来获得文件,然后读文件,转化,再存文件,为什么系统说禁止访问那?
- CSpreadSheet VS2005 未发现数据源名称并且未指定默认驱动程序
- 关于AfxBeginThread函数创建的线程如何继续使用?
- 关于矩阵的一个问题,大侠们帮我看看
- 关于RichEdit控件的问题
- 高分请高手指路:想往流媒体方向发展,不知应该熟悉哪些知识,希望能说得详尽些!ThankS :=)
- 如何处理从文本文件中读取的字符串
- 问:如何快速定位满足一定条件的XML节点?
- 一个类为什么不能调用另一个类中的成员函数
- 那里有讲mpeg4比较好的站点?
- 关于动态库函数调用的问题,__stdcall 与 extern "C"
- 怎样改变客户端的大小?
delhpi默认调用约定是_stdcall
协调一致就行
怎么我看delphi7帮助文档说是默认是register
因此和extern "C" __declspec(dllimport) int __stdcall mydllfunc(int);是有区别的
extern "C" __declspec(dllexport) __stdcall int mydllfunc(int);倒入声明:
extern "C" __declspec(dllimport) int mydllfunc(int);会改变调用方式吗?
extern "C" __declspec(dllexport) __stdcall int mydllfunc(int);倒入声明:
extern "C" __declspec(dllimport) int mydllfunc(int);会改变调用方式吗?
如果动态库中导出的函数声明是:
extern "C" __declspec(dllexport) __stdcall int mydllfunc(int);
我在使用动态库时导入:
//这应该是非法的吧?可是为什么编译器能够通过
extern "C" __declspec(dllimport) int mydllfunc(int);
和
//这应该是正确的,为什么编译时会认为__stdcall mydllfunc(int)是无法解析的外部符号?
extern "C" __declspec(dllimport) int __stdcall mydllfunc(int);所以,我只好把分给最后一位明白了我的意思,却与我一样不明白的兄弟。