Windows C运行时库没有像我期望的那样链接?
发布时间:2020-12-14 05:40:56 所属栏目:Windows 来源:网络整理
导读:作为一个长期的POSIX / Linux / BSD C开发人员,现在尝试用Visual C 2010做一些事情,我有点笨拙地使用工具,因为它与GCC工具集的工作方式不同.理论上,至少根据文档,它看起来非常相似(我确定它是),但我没有看到我期待看到的东西. 在这种情况下,我正在尝试构建一
作为一个长期的POSIX /
Linux / BSD C开发人员,现在尝试用Visual C 2010做一些事情,我有点笨拙地使用工具,因为它与GCC工具集的工作方式不同.理论上,至少根据文档,它看起来非常相似(我确定它是),但我没有看到我期待看到的东西.
在这种情况下,我正在尝试构建一个C库供以后在.NET项目中使用,我想小心避免以后的运行时冲突.我的想法是构建一个静态库,链接到C版运行时的DLL版本(Debug配置中的msvcr100d.dll),所以我设置/ MDd标志.但是,当我使用dumpbin.exe检查生成的.lib输出时,它不显示依赖项或导入. 真的有两个问题: >首先这是一个坏主意吗?我应该构建DLL还是链接静态CRT? 更新:Choosing the Correct C/C++ Runtime Library非常有用且信息丰富.我尝试了他建议的dumpbin咒语,输出显示lib确实按预期链接到msvcrtd,但这并没有真正回答我上面的第二个问题. 解决方法
因为这不是最终的EXE或DLL,所以没有导入部分.相反,有一些链接器指令说明了这个lib是如何链接的.
dumpbin /directives thoraway.lib Microsoft (R) COFF/PE Dumper Version 10.00.40219.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file throwaway.lib File Type: LIBRARY Linker Directives ----------------- /FAILIFMISMATCH:"_MSC_VER=1600" /FAILIFMISMATCH:"_ITERATOR_DEBUG_LEVEL=2" /DEFAULTLIB:"msvcprtd" /DEFAULTLIB:"MSVCRTD" /DEFAULTLIB:"OLDNAMES" /EDITANDCONTINUE Summary CFC .debug$S 4C .debug$T A2 .drectve B .rdata 4 .rtc$IMZ 4 .rtc$TMZ 49 .text (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- microsoft-office – 用于Microsoft Office 2013安装的Serv
- 如何在UWP XAML MVVM应用程序上接收最简单的Windows消息?
- windows – 批量请求用户输入(/ P)时换行?
- windows-10 – 签署代码后摆脱智能屏幕警告多长时间?
- WIN2000?SERVER安全配置服务器手册?(3)
- Win10下Wireshark找不到网卡的方法
- Windows Installer应该创建桌面快捷方式图标吗?
- 如何在windows中删除sublime中的整行
- .net-4.0 – windows xp上的visual studio 2013
- #pragma data_seg() 共享数据// MyData段 // 进程 // DLL
推荐文章
站长推荐
热点阅读