4

我用这个作为参考,但它似乎并不完整。当我设置 时/NODEFAULTLIB,我得到关于丢失的链接器错误__except_list__load_config_used以及其他一些显然与 SEH 相关的事情。正确连接朋友很容易_CxxThrowException,但我不知道__except_list应该是什么,也不知道从哪里开始寻找。

我正在使用MSC和IC。使用 I2C 时,链接器报告__except_list为缺失,但 MSC 并非如此。

对于你们中最喜欢的答案是“为什么?”的人:这是因为我想知道它是如何工作的,而且我厌倦了毫无理由地开始使用 300kb 的无操作测试应用程序。

4

2 回答 2

2

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

于 2012-09-24T13:06:24.217 回答
0

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

于 2013-07-20T12:32:47.163 回答