社区
Delphi
帖子详情
dll静态调用错误
favan
2003-09-15 05:37:03
我用C++写了一个DLL
在调用的时候不出错,但在调用过程执行完后出错:
read address of 0x00000001
请教怎么解决?
(动态调用时不出错,但我需要静态调用)
...全文
37
17
打赏
收藏
dll静态调用错误
我用C++写了一个DLL 在调用的时候不出错,但在调用过程执行完后出错: read address of 0x00000001 请教怎么解决? (动态调用时不出错,但我需要静态调用)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjqyb
2003-09-16
打赏
举报
回复
sorry!!
DllExport int __stdcall EYC_Ent_ReadRec(int nDevID, ComStru Com, pEntRec pEr);
zjqyb
2003-09-16
打赏
举报
回复
DllExport int __sdtcall EYC_Ent_ReadRec(int nDevID, ComStru Com, pEntRec pEr);
favan
2003-09-16
打赏
举报
回复
C++动态连接库:
#define DllImport extern "C" __declspec(dllimport)
DllExport int EYC_Ent_ReadRec(int nDevID, ComStru Com, pEntRec pEr);
(实现部分有点长,是读取门禁记录的,不方便贴,我感觉不会错在里面)
Delphi里:
function EYC_Ent_ReadRec(nDevID: Integer; Com: ComStru; pEr: pEntRec): Integer; stdcall;external 'EYICCOM.dll' name 'EYC_Ent_ReadRec';
zjqyb
2003-09-15
打赏
举报
回复
可能参数约定不同,c++,delphi两边都要加stdcall
xdljf
2003-09-15
打赏
举报
回复
应该是访问了没有分配内存的单元。
year2000bug
2003-09-15
打赏
举报
回复
可能参数约定不同。
加个stdcall吧。
李赞红
2003-09-15
打赏
举报
回复
只有你自己知道错在哪里
outer2000
2003-09-15
打赏
举报
回复
也许调用的时候用CDECL的方式;
aiirii
2003-09-15
打赏
举报
回复
釋放出問題,檢查你的dll的釋放處理部分!!
ehom
2003-09-15
打赏
举报
回复
估计就是调用约定的问题了,加个stdcall,C和Pascal的参数默认压栈方式正好相反
delphi_xizhousheng
2003-09-15
打赏
举报
回复
调用方式的约定?
overtime
2003-09-15
打赏
举报
回复
你的参数是什么?
favan
2003-09-15
打赏
举报
回复
而且,原来用delphi写的dll不会出错的,这回用c++写了,用delphi调用就出错了。
favan
2003-09-15
打赏
举报
回复
代码都正常的不能再正常了,在一个过程里*静态*调用,调用不出错的,到调用过程运行到end的地方出错。
FrameSniper
2003-09-15
打赏
举报
回复
啥也没有,没有判断根据!
蓝色光芒
2003-09-15
打赏
举报
回复
会不会是共享内存出错,或者指针之类的没有初始化!!
Delphi_Li
2003-09-15
打赏
举报
回复
代码!!!你的代码在那里???
不贴代码,天知道你错在那里!!!
应用篇之
DLL
的
静态
调用
和动态
调用
区别
静态
调用
(static call)和动态
调用
(dynamic call)。
静态
调用
静态
调用
,即 Load-time Dynamic Linking。正如我们常用的配置方式,同时需要头文件、LIB和...
DLL
调用
(1):C++
静态
调用
DLL
DLL
(Dynamic Link Library)即动态链接库,
DLL
文件中存放封装的函数和类,当程序需要
调用
DLL
所定义的功能时,需要先载入
DLL
文件,然后取得函数的地址,最后进行
调用
。 通过
DLL
来
调用
功能,可实现代码的封装与复用...
动态库
DLL
文件的动态
调用
和
静态
调用
参考百度百科和C++
调用
DLL
有两种方法—
静态
调用
&动态
调用
库文件一般指计算机上的一类文件,分两种,一种是
静态
库,另一种是动态库即
DLL
(Dynamic Link Library)文件,又叫动态链接库文件。
静态
库和动态库的区别...
vc
调用
dll
静态
调用
和动态
调用
.
调用
DLL
有两种方法:
静态
调用
和动态
调用
. (一).
静态
调用
其步骤如下: 1.把你的youApp.
DLL
拷到你目标工程(需
调用
youApp.
DLL
的工程)的Debug目录下; 2.把你的youApp.lib拷到你目标工程(需
调用
youApp.
DLL
的工程)目录下...
C++
调用
DLL
有两种方法——
静态
调用
和动态
调用
[C++]
调用
DLL
有两种方法——
静态
调用
和动态
调用
(一).
静态
调用
其步骤如下: 1.把你的youApp.
DLL
拷到你目标工程(需
调用
youApp.
DLL
的工程)的Debug目录下; 2.把你的youApp.lib拷到你目标工程(需
调用
youApp.
DLL
的工程)...
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章