动态链接库传递STL问题,急!!!!在线等

名字全都被占用了 2012-12-18 09:23:18
最近在开发一个项目的时候,做了几个动态链接库,然后exe调用,在调用的时候,返现,返回STL(不管是指针还是引用)exe都没办法获取到数据。网上查看了一下资料,说是MS一种保护机制导致,那现在也不知道要怎么处理这个东西好,因为STL对象里面包含的是数据库实体模型,所以过以字符串传递的话,那还需要写数据解析的代码,这样显得很复杂。不知道各位大神遇见这种情况是怎么处理的,最好是能有类似STL这种能直接解决问题的方案或者思路
...全文
241 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bsnry 2012-12-18
  • 打赏
  • 举报
回复
引用 6 楼 wqvbjhc 的回复:
stl在dll中传递是不安全的。 不同vc版本中的stl实现机制有区别。 你试试使用同一vc编译dll与exe.可能不会出错。但该dll就被限制了,只能被该版本的vc使用。
++ 可以内部使用,
wqvbjhc 2012-12-18
  • 打赏
  • 举报
回复
stl在dll中传递是不安全的。 不同vc版本中的stl实现机制有区别。 你试试使用同一vc编译dll与exe.可能不会出错。但该dll就被限制了,只能被该版本的vc使用。
  • 打赏
  • 举报
回复
我看网上说可以导出导入vector,但是需要同版本的运行库链接,那是不是意味着如果我用vector作为参数,将来部署到别的机器上的时候会因为vector作为参数可能会出现无法正常运行的情况。
  • 打赏
  • 举报
回复
引用 3 楼 akirya 的回复:
dll接口不能传递类相关的东西,否则就会出现你现在遇到的问题,只能换接口。
那像这种要怎么处理比较好一些,我觉得全部转换为字符串再传递,那要写解析和封装代码
  • 打赏
  • 举报
回复
dll接口不能传递类相关的东西,否则就会出现你现在遇到的问题,只能换接口。
  • 打赏
  • 举报
回复
引用 1 楼 ouyh12345 的回复:
做成lib?
嗯,但是最后生成Dll
ouyh12345 2012-12-18
  • 打赏
  • 举报
回复
做成lib?
  • 打赏
  • 举报
回复
最后还是自己先将结果转为字符串,然后再将字符串传递到调用程序后再进行解析,很纠结的解决方法……

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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