能否同时使用2个版本C语言运行时库

whg01 2010-08-11 09:07:49
有一个程序,使用了很多第三方的dll。这些dll使用的微软CRT有的是8.0.50727.4053,有的是8.0.50727.762,还有些dll没有指定CRT版本(dll内没有manifest信息)。
这么使用会不会有问题?如果有问题该如何解决?
...全文
176 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whg01 2010-08-12
  • 打赏
  • 举报
回复
先试试,有问题再开贴。
CloudmmFly 2010-08-12
  • 打赏
  • 举报
回复
我想只要模块间不互相耦合就没关系的,各干各的自然没什么问题了
na_he 2010-08-12
  • 打赏
  • 举报
回复
应该可以,微软这些库应该有兼容的模式。
jhk001 2010-08-12
  • 打赏
  • 举报
回复
微软的CRT Redist一般都会保存在WinSxS里
安装所需的版本Redist Package就行了
whg01 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 oyljerry 的回复:]

使用不同版本的DLL,那么就需要这些dll都在发布的机器上都有对应版本的。
其次就是DLL之间的接口最好使用标准C格式做参数,不要使用运行时库相关的作为参数以免不同版本之间的问题
[/Quote]
如何确保这些dll在发布的机器上都有?因为微软不同版本的运行时库,dll文件的名字都是相同的。
oyljerry 2010-08-11
  • 打赏
  • 举报
回复
使用不同版本的DLL,那么就需要这些dll都在发布的机器上都有对应版本的。
其次就是DLL之间的接口最好使用标准C格式做参数,不要使用运行时库相关的作为参数以免不同版本之间的问题
cnzdgs 2010-08-11
  • 打赏
  • 举报
回复
最好也不要跨模块访问资源。
cnzdgs 2010-08-11
  • 打赏
  • 举报
回复
可以,但要注意不要跨模块分配和释放资源。
jameshooo 2010-08-11
  • 打赏
  • 举报
回复
看样子不会有问题
whg01 2010-08-11
  • 打赏
  • 举报
回复
补充一下dll中指定CRT版本都是通过内置的manifest设置的。

15,473

社区成员

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

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