为什么D程序可执行文件几乎达到9+ MiB?

时间:2015-07-12 08:46:51

标签: size executable d binaryfiles native-executable

我发现一个简单的Hello World程序D可执行文件很大,大约9.2 MiB。我正在使用 gdc -4.8编译器。这是一个功能还是某种错误?

感谢所有回复!

1 个答案:

答案 0 :(得分:3)

我猜你是静态链接标准库的调试版本。

首先,可执行文件的大小取决于标准库的动态链接与静态链接的使用。如果您静态链接可执行文件,那么调试信息是另一个大小的贡献者。

数字(我手头没有gdc):

  • 使用ldc2编译,静态链接:315KiB
  • 使用带有调试信息的ldc2编译,静态链接:2.9MiB
  • 使用dmd编译,动态链接:51KiB
  • 使用带有调试信息的dmd编译,静态链接:77KiB

据我所知,gdc不使用/ support -gc-section,这也会影响可执行文件的大小。