社区
C++ 语言
帖子详情
传引用与指针有什么区别呢 为什么传引用到dll中会被清掉
DraculaW
2007-05-15 08:44:20
一个函数 在 a.dll里面 我用 LoadLibrary load出来後 getaddress然后 将引用传入dll中 这个引用的对象没有传入 很奇怪
传入 指针到一点错都没有 我神经了
...全文
346
14
打赏
收藏
传引用与指针有什么区别呢 为什么传引用到dll中会被清掉
一个函数 在 a.dll里面 我用 LoadLibrary load出来後 getaddress然后 将引用传入dll中 这个引用的对象没有传入 很奇怪 传入 指针到一点错都没有 我神经了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yutaooo
2007-05-16
打赏
举报
回复
那原始的GetProp声明呢?它怎么能处理std::vector<ZipFileInfo>?
珍惜生命远离CPP
2007-05-16
打赏
举报
回复
to Chiyer(星羽)
因为C++ 没有二进制标准
DraculaW
2007-05-16
打赏
举报
回复
typedef COMPRESS_RESULT (WINAPI *MyGetProp)(TCHAR*, std::vector<ZipFileInfos>*);
yutaooo
2007-05-16
打赏
举报
回复
getProp 是怎么声明的? 贴出来看看。
它怎么知道你传 std::vector<ZipFileInfo> * 给它的?
wing831223
2007-05-16
打赏
举报
回复
mark
DraculaW
2007-05-16
打赏
举报
回复
std::vector<ZipFileInfos> infos;
result = GetFileInfo(m_pInfo->archive, &infos);
COMPRESS_RESULT GetFileInfo(TCHAR *filename, std::vector<ZipFileInfos> *pinfos)
{
MyGetProp getFileinfo = (MyGetProp)GetProcAddress(g_AsusZip , L"getProp");
if(!getFileinfo)
return SZE_DLL;
pinfos->clear(); //如果加这个就没问题 不加就有问题了
return getFileinfo(filename, pinfos);
}
星羽
2007-05-16
打赏
举报
回复
楼上两位能说名为什么吗?不想只知道不要使用,更想知道为什么
珍惜生命远离CPP
2007-05-16
打赏
举报
回复
dll接口最好使用基本类型.char int之类的.
taodm
2007-05-16
打赏
举报
回复
不要在dll接口上使用C++的引用、类对象。
femalelover
2007-05-16
打赏
举报
回复
引用实际上通过地址实现, 会不会传入DLL时, 那个地址无效了呢?
不过taodm和akirya说的很对.
星羽
2007-05-15
打赏
举报
回复
贴点代码好看点,把你传的那里贴出来大家看看
DraculaW
2007-05-15
打赏
举报
回复
不是一个值 就是没有传进去
我穿进去了一个 vector
然后 这个vector的 clear方法都调不出来
DraculaW
2007-05-15
打赏
举报
回复
而且在 debug状态下 是可以传入的 但是 release下就不可以了
星羽
2007-05-15
打赏
举报
回复
那你看到的值是什么?
C# 调用C++
DLL
(函数参数包含
指针
)
C#调用C++
DLL
,C++
DLL
中
的函数参数包含
指针
。 绝对可用。
java用JNA调用
dll
实例,包含各种参数调用
实例
中
演示了各种参数形式的
DLL
函数调用,如:基本数据类型、基本数据类型的
指针
和
引用
、结构体、结构体的
指针
和
引用
、函数
指针
和回调函数、字符串
指针
、输入数组、输出数组等,非常实用。
关于C#调用C++
dll
传
指针
释放内存问题
一、
传
入
dll
前,在C#
中
申请内存空间 c#里面的
指针
即 IntPtr 申请如下: IntPtr SrcImgData = Marshal.AllocHGlobal(length); 这种需要提前知道空间大小,否则无法确定空间大小,
会
导致
dll
内部处理时越界报错。 c#里面申请空间了,那么c++里面一般就是在这些空间里面操作了,一般不
会
重新分配内存,那么就不需要加
引用
了。 c++: uchar* SrcImg c#导入
dll
函数时申明: IntPtr SrcImg 那么内存释放自然也是由c#来进行。
python
中
调用C语言动态库的方法,以及
指针
、
引用
、数组
指针
、结构体
指针
、字符串等参数的
传
递(新增回调函数用法)
原文连接:python
中
ctypes使用:
指针
和
指针
数组的调用 目录 导入C语言动态库 参数
传
递问题(
指针
、
引用
、数组
指针
、结构体
指针
、字符串) 接收函数的非空返回值的问题 导入C语言动态库 # coding=utf-8 import os os.add_
dll
_directory("动态库所在的绝对路径") test = c
dll
.LoadLibrary('动态库名称.
dll
') 参数
传
递问题(
指针
、
引用
、数组
指针
、结构体
指针
、字符串) # coding=utf-8 import o
多个
DLL
(exe)之间通过
指针
或者
引用
传
递STL对象
在多个
DLL
(exe)之间通过
指针
或者
引用
传
递STL对象时
会
发现操作失败现象。MSDN上给出了完整的解决方法。在开发应用程序的过程
中
需要认真对待。 现象: 在不同的
DLL
或EXE
中
通过
指针
或
引用
操作另一个
DLL
或EXE
中
的STL对象时,
会
遇到严重的程序错误,包括数据错乱或丢失。 原因: 标准C++库的多数类直接或间接的使用了静态数据成
C++ 语言
64,684
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章