有关更换MS CRT的最新参考资料吗?

时间:2012-08-18 05:35:27

标签: c++ visual-studio msvcrt

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

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

对于那些最喜欢的答案是“为什么?”:这是因为我想知道它是如何工作的,而且我已经厌倦了无所事事的测试应用程序以300kb开始生命,完全没有理由。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

链接器选项/ safeseh:否(查看PE图像信息中的IMAGE_LOAD_CONFIG_DIRECTORY)。