传引用与指针有什么区别呢 为什么传引用到dll中会被清掉

DraculaW 2007-05-15 08:44:20
一个函数 在 a.dll里面 我用 LoadLibrary load出来後 getaddress然后 将引用传入dll中 这个引用的对象没有传入 很奇怪
传入 指针到一点错都没有 我神经了
...全文
346 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutaooo 2007-05-16
  • 打赏
  • 举报
回复
那原始的GetProp声明呢?它怎么能处理std::vector<ZipFileInfo>?
  • 打赏
  • 举报
回复
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
  • 打赏
  • 举报
回复
楼上两位能说名为什么吗?不想只知道不要使用,更想知道为什么
  • 打赏
  • 举报
回复
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
  • 打赏
  • 举报
回复
那你看到的值是什么?

64,684

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧