作者FantasyRyu (眩惑之龙)
看板C_Sharp
标题Re: [问题] c#编写console mode程式
时间Thu May 17 22:59:52 2007
※ 引述《bero (bero)》之铭言:
: 想请问……c# .NET的主控台程式
: coding的时候要注意哪些地方
: 才能够让执行的时候,占用的记忆体「最不多」呢?
: ﹙为什麽像
: using System;
███████
: namespace Project1 {
: public class Class1 {
: public static void Main(String[] args) {
: Console.WriteLine("Hi every body, this is a C#
███████████
: Console.In.Read();
███████████
: }
: }
: }
: 这样的一只程式,compile出来3K
: 可是执行的时候却需要4824K阿?
这支程式并不是全部都你写的东西,
因为你引用了M$写好的System物件,并且也真的载入console这个static method来用。
所以你写的只有3k归3k,程式在跑它会扯东扯西把引用的东西抓进来,所以就变大了。
这些都要占记忆体的。
就算你真的什麽都不using,.NET的架构为了安全性便利性有的没的性,就是架在CLR
上面跑。程式一跑,GC牌垃圾车也会跟着发车跟在屁股後面。
再怎麽精简的程式占个4MB也不为过。
如果你要的solution是「精简」、「全部操之在手的快感」而不是「便利」、「快速」
你选错语言了……
电梯下楼(滑鼠滚轮往下),开个vc++专案来试试吧,绝对快感十足 :D
再不行,也还有最後杀手─组合语言─包君满意。
以上。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.140.226
※ 编辑: FantasyRyu 来自: 218.170.140.226 (05/17 23:03)
1F:推 bero:THX...另外您说的是旧的vc++还是c++.net阿? 05/19 18:27
2F:推 FantasyRyu:都可以。啊当然有得用就用新的 05/19 22:36