c++ - 是否有关于更换 MS CRT 的最新引用资料?

标签 c++ visual-studio msvcrt

我用过 this作为引用,但它似乎并不完整。当我设置 /NODEFAULTLIB 时,我收到有关缺少 __except_list__load_config_used 以及其他一些显然与 SEH 相关的内容的链接器错误。很容易让 _CxxThrowException 和 friend 正确链接,但我不知道 __except_list 应该是什么,我不知道从哪里开始寻找。

我同时使用 MSC 和 IC。使用 IC 时,链接器报告 __except_list 丢失,但 MSC 不是这种情况。

对于那些最喜欢回答“为什么?”的人来说:这是因为我想知道它是如何工作的,而且我厌倦了无所事事地测试应用程序,一开始就毫无理由地提交 300kb。

最佳答案

如果你想摆脱CRT依赖,那么将/Zl选项传递给编译器。链接器不需要任何特殊选项(编译器不会插入 /DEFAULTLIB:....drectve 部分,因此链接器不会将您的 EXE 绑定(bind)到任何 CRT ). 当然,您不应该在代码中使用 C++ 异常或堆;或者您需要提供您自己的用汇编语言编写的库函数版本。

关于c++ - 是否有关于更换 MS CRT 的最新引用资料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016138/

相关文章:

visual-studio - 是否有 Visual Studio 插件来突出显示一段文本,就像在 Microsoft Word 中一样?

c++ - C2664 无法从 'initializer list' 转换参数

c# - 未返回对通过 AddFromTemplate() 创建的项目项的引用

c++ - Visual C++ 程序问题——找不到调试 CRT

inno-setup - 如何仅在尚未安装的情况下重新安装 vcredist_x86?

c++ - lambda 返回值的规范不起作用

python - 在嵌入 C++ 后从 Python 中提取值

c++ - 在 C++ 中创建文件时如何获取 IO 错误消息?

c++ - 访问 vector 时中止

c++ - Visual Studio 10中使用/MT或/MD构建dll