[疑难] D语言生成文件咋那么大?
wibrst
2007-05-23
拷的tutorail的代码:
// init_var.d import std.stdio; int nMagic=42; char[] pswd = "b$#a0df2"; void main(){ writefln( "Magic number: ", nMagic); writefln( "Password: " , pswd); } 结果一编译 112,156字节!太大了吧。 另一个最简单的: void main(){ printf( "hello!!!!"); } 我分别用Turbo C和D编译, C生成9,467字节, D生成75,804字节! 这个是C的8倍多!!!!!!!! |
|
qiezi
2007-05-23
turbo c现在还有人在用亚。。21世纪了,怎么还有人对于上百K的东西感觉意外呢?
最简单的D程序至少要包括基本的运行时系统比如GC,异常、Object类、RTTI、数组及操作、线程等,turbo c编译出来的9K你可以想一下能包括多少东西。 |
|
oldrev
2007-05-23
恩,教育阿....
|
|
wibrst
2007-05-23
qiezi 写道 turbo c现在还有人在用亚。。21世纪了,怎么还有人对于上百K的东西感觉意外呢?
最简单的D程序至少要包括基本的运行时系统比如GC,异常、Object类、RTTI、数组及操作、线程等,turbo c编译出来的9K你可以想一下能包括多少东西。 朋友,咱不用说别的,看看常用的taskmgr.exe吧! 试试这个:dir %systemroot%\system32\taskmgr.exe 我这里wondows XP,显示是: 2004-08-08 11:33 122,880 taskmgr.exe 1 个文件 122,880 字节 显然跟init_var.d 的112,156字节相差无几。 当然可以理解这个taskmgr.exe会用到其它dll, 但是taskmgr.exe这个主程序会不只打印两行文字这么简单吧! |
|
oldrev
2007-05-24
试试
dmd -O -release init_var.d 这应该能让 exe 小一点 在用80年代的TurboC的同学应该是算还没入门 |
|
tomqyp
2007-05-24
wibrst 写道 qiezi 写道 turbo c现在还有人在用亚。。21世纪了,怎么还有人对于上百K的东西感觉意外呢?
最简单的D程序至少要包括基本的运行时系统比如GC,异常、Object类、RTTI、数组及操作、线程等,turbo c编译出来的9K你可以想一下能包括多少东西。 朋友,咱不用说别的,看看常用的taskmgr.exe吧! 试试这个:dir %systemroot%\system32\taskmgr.exe 我这里wondows XP,显示是: 2004-08-08 11:33 122,880 taskmgr.exe 1 个文件 122,880 字节 显然跟init_var.d 的112,156字节相差无几。 当然可以理解这个taskmgr.exe会用到其它dll, 但是taskmgr.exe这个主程序会不只打印两行文字这么简单吧! 其实你引用的qizi话就已经说的很清楚了,VC编译你用/mt试试估计也不比D小 |
|
qiezi
2007-05-24
你的tc程序太大了,我用gcc编译一个才4K多,赶紧换吧朋友。
不再进行这类解释工作了,没有任何意义。 |
|
goulb
2007-06-03
用解释型语言<20byte
|
相关讨论
相关资源推荐
- 华为机试:IPv4地址转换成整数
- 计算机网络(四)—— 网络层(3):IPv4地址
- 解决报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
- docker警告:WARNING: IPv4 forwarding is disabled. Networking will not work.
- [WARNING]: IPv4 forwarding is disabled. Networking will not work
- Docker出现WARNING: IPv4 forwarding is disabled. Networking will not work解决方案
- docker WARNING: IPv4 forwarding is disabled. 解决方法
- IPv6NAT-PT实验:IPv4和IPv6地址转换的配置和验证
- IPV4组播地址解析以及IPV4地址详解
- docker启动报错WARNING: IPv4 forwarding is disabled. Networking will not work.