首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接到system C库msvcrt.dll

链接到system C库msvcrt.dll
EN

Stack Overflow用户
提问于 2012-10-16 17:58:11
回答 2查看 1.2K关注 0票数 4

在Windows中,有一个默认的C库msvcrt.dll。

是否有可能编写只使用msvcrt.dll中的函数的简单C程序?这将减轻安装最近的VC运行时的需要。

我认为一种可能的方法是显式地指定/NODEFAULTLIB,并使用dll导入过程来导入msvcrt.dll函数。

有谁有线索吗?

EN

回答 2

Stack Overflow用户

发布于 2014-02-06 00:17:27

你可以使用MinGW-w64 GCC,它链接到msvcrt.dll的原因与你所说的完全相同。

你可以找到downloads here。如果您不想重新分发任何DLL,可以将您的程序与-static-libgcc -static-libstdc++链接。

也就是说,您可以简单地将msvcr*.dll文件与您的可执行文件一起发布,不需要安装任何东西。

票数 3
EN

Stack Overflow用户

发布于 2014-02-06 02:56:27

您不想使用msvcrt.dll。

它非常旧,因此不符合现代的C运行时库specifications.

  • It存在的主要目的是为了向后兼容,并供具有特殊requirements.

  • There不能保证用现代编译器制作的二进制文件将与msvcrt.dll.

  • Modern C中的
  • 兼容C++编译器对其运行时库有关于优化、设置和拆卸的深入了解和期望。所以你不应该混合搭配它们。

使用编译器附带的运行时库。如果您不想担心重新分发它,您可以静态地链接到它,或者您可以阅读有关通过您的应用程序重新分发它的适当方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12912056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档