为什么 D 程序可执行文件大到几乎 9+ MiB?
Why D program executable is big almost to 9+ MiB?
我发现一个简单的 Hello World 程序 D 可执行文件很大,大约 9.2 MiB。我正在使用 gdc-4.8 编译器。这是一项功能还是某种错误?
感谢大家的回复!
我猜你是在静态地link针对标准库的调试版本。
首先,可执行文件的大小取决于标准库的动态与静态linking 的使用。如果您静态 link 您的可执行文件,那么调试信息是影响大小的另一个因素。
数字(我手头没有 gdc):
- 使用 ldc2 静态编译 linked: 315KiB
- 使用带有调试信息的 ldc2 静态编译 linked:2.9MiB
- 使用 dmd 动态编译 linked: 51KiB
- 使用带调试信息的 dmd 静态编译 linked: 77KiB
据我所知,gdc 没有 use/support -gc-section 这也会影响可执行文件的大小。
我发现一个简单的 Hello World 程序 D 可执行文件很大,大约 9.2 MiB。我正在使用 gdc-4.8 编译器。这是一项功能还是某种错误?
感谢大家的回复!
我猜你是在静态地link针对标准库的调试版本。
首先,可执行文件的大小取决于标准库的动态与静态linking 的使用。如果您静态 link 您的可执行文件,那么调试信息是影响大小的另一个因素。
数字(我手头没有 gdc):
- 使用 ldc2 静态编译 linked: 315KiB
- 使用带有调试信息的 ldc2 静态编译 linked:2.9MiB
- 使用 dmd 动态编译 linked: 51KiB
- 使用带调试信息的 dmd 静态编译 linked: 77KiB
据我所知,gdc 没有 use/support -gc-section 这也会影响可执行文件的大小。