除了这些呢?
比如MFC调用的问题有些实现方法会很浪费吗?

解决方案 »

  1.   

    在Project\Setting中的Link中把不必要的Library刪掉, 再撰取"不使用預設的Library", 再在Library中加入MSVCrt.Lib, 程式應該細了點兒.
    再在Link中手動加入/Align:4096這個參數, 應該很小了吧!
      

  2.   

    连接后采用一些压缩工具压一下,程序可以更小,如UPX,Apack等,www.exetool.com上有不少这样的工具
      

  3.   

    PE格式的文件本身就很浪费。MFC类库的代码也不小。在保证程序功能的前提下,往往绞尽脑汁优化代码编译出来的程序大小改变也很小。不如多动点脑筋优化算法,让它更快一些。不过一个最显著的做法是尽量不要使用初始化的全局变量和静态变量——它们会实实在在增大数据段。如果你实在太在意可执行代码的大小的话,那么只好舍弃MFC。直接用API写的程序会小许多。更进一步,舍弃启动代码、C++的exception、RTTI这些特性,直接用汇编写,代码会更小。汇编写20K,C写50K,MFC写可能是200K。这就是差别。
      

  4.   

    C++的exception??
    不懂。请问是什么东西?
    用汇编写?那么你认为是不是有些不可思议
      

  5.   

    用SDK和API写,在TOOL下的CONFINGURATION里改为WIN32 RELEASE或者是在project下的CONFINGURATION里设置
      

  6.   

    仲有, 使用字串時盡量不要重複, 如:
    char *err = "Error";
    if (!b)
     printf("%s\n", err);
    if (c)
     printf("%s\n", err);

    if (!b)
     printf("%s\n", "Error");
    if (c)
     printf("%s\n", "Error");
    當然第一個小一點啦!當然不只字串, 重複的代碼也應盡量用function.
    如想再細, 盡量用function取代Inline and Macro. 當然, 程式的可讀性可能會降低.