导出stl的类的问题

zrdongjiao 2013-06-24 08:41:15
c++规定,不支持头文件和实现问价分离。

所以注定了类模版无法导出,可是我们的stl却导出了!!!!

怎么回事?
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
橡木疙瘩 2013-06-25
  • 打赏
  • 举报
回复
std::string是类模板std::basic_string的一个实例,也就是说,它是一个类,不是类模板。所以你也许可以导出std::string,但不可能导出std::basic_string。 同样道理,你或许可以导出std::vector<int>,但你不可能导出std::vector
zrdongjiao 2013-06-25
  • 打赏
  • 举报
回复
引用 6 楼 zrdongjiao 的回复:
[quote=引用 5 楼 u010936098 的回复:] 从DLL里导出STL是不可能的,模板与DLL天生犯冲。 你可以导出std::string,std::vector<int>,std::sort<std::vector<ing>::iterator>,但绝不可能导出std::basic_string、std::vector、std::sort。
为啥std::string不是类模版? [/quote] std::vector不是类模版?
zrdongjiao 2013-06-24
  • 打赏
  • 举报
回复
引用 5 楼 u010936098 的回复:
从DLL里导出STL是不可能的,模板与DLL天生犯冲。 你可以导出std::string,std::vector<int>,std::sort<std::vector<ing>::iterator>,但绝不可能导出std::basic_string、std::vector、std::sort。
为啥std::string不是类模版?
橡木疙瘩 2013-06-24
  • 打赏
  • 举报
回复
从DLL里导出STL是不可能的,模板与DLL天生犯冲。 你可以导出std::string,std::vector<int>,std::sort<std::vector<ing>::iterator>,但绝不可能导出std::basic_string、std::vector、std::sort。
taodm 2013-06-24
  • 打赏
  • 举报
回复
导出stl的方法可以自己google到。 但是,珍惜生命,远离扩展dll,只使用纯C接口的标准dll。
橡木疙瘩 2013-06-24
  • 打赏
  • 举报
回复
从dll只能导致被模板调用的非模板代码,不能导致模板。
zrdongjiao 2013-06-24
  • 打赏
  • 举报
回复
引用 1 楼 u010936098 的回复:
导出?怎么导出?
从dll 中导出啊
橡木疙瘩 2013-06-24
  • 打赏
  • 举报
回复
导出?怎么导出?

64,644

社区成员

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

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