如何使用dmd或ldc编译而不出现异常和typeinfo支持?

如何使用dmd或ldc编译而不出现异常和typeinfo支持?,d,D,当我编译一个相对较小的代码库时,我看到了很多异常处理/typeinfo的“不必要”的东西。 我使用-stdlib=(空)进行allready编译,并且我有自己的stdlib替代品(没有GC和其他东西) 例如(使用-map编译): 如何在不破坏.obj文件的情况下轻松摆脱此问题?可以使用命令在LDC中生成类型信息。我不知道LDC的答案,但dmd并不真正支持此功能。(您可以通过重新编译druntime来去除一些库支持,但是编译器仍然希望有一些东西,并尝试输出必要的表)。然而,虽然这可能不是严格必要的

当我编译一个相对较小的代码库时,我看到了很多异常处理/typeinfo的“不必要”的东西。 我使用-stdlib=(空)进行allready编译,并且我有自己的stdlib替代品(没有GC和其他东西)

例如(使用-map编译):


如何在不破坏.obj文件的情况下轻松摆脱此问题?

可以使用命令在LDC中生成类型信息。

我不知道LDC的答案,但dmd并不真正支持此功能。(您可以通过重新编译druntime来去除一些库支持,但是编译器仍然希望有一些东西,并尝试输出必要的表)。然而,虽然这可能不是严格必要的(这些异常在D中非常常见),但这并没有什么坏处。您只看到可执行文件中的几千字节。
0002:000025D8       __except_handler3          004045D8
0000:00000000  Abs  __except_list              00000000
...
0002:00003A04       __global_unwind            00405A04
...