我用的是Win32sdk,VC6.0,RTTI和异常处理也关掉了。还有没有其他方法可以减小exe。是不是换一个编译器会好一些?

解决方案 »

  1.   

    1、使用release版本。debug版本中含有调试信息,故很大。
    2、使用exe的压缩工具,例如ASPack。
      

  2.   

    studentforever() 和wuchuncai(sssss) 
    我已经用的是release的minimize了。还有没有其他方法。
      

  3.   

    现在还有必要吗?如果你的程序写的足够好可以试试1字节对齐realse+exe压缩工具,应该就能很小了
      

  4.   

    zx_sanjin(1.5kg)
    我现在已经是1字节对齐了。
      

  5.   

    用VC里面套( ASM 汇编) 再优化,这样不仅小,而且代码执行效率高.
      

  6.   

    楼主你现在exe文件是多大啊,离你期望的还有多大差距?
      

  7.   

    1、使用release版本。debug版本中含有调试信息,故很大。
    2、使用exe的压缩工具,例如ASPack。
      

  8.   

    动态连接MFC;
    编译为Release版本。
      

  9.   

    直接填PE结构吧!
    -----------------
    标题: 可能是最小的 pe 程序 -- 我手工构造了一个 pe 程序, 只 305 个字节, 可正确执行(Win9x). 内容:                       世界最小的 pe 程序         我手工构造了一个 pe 程序, 只 305 个字节,可以在我的中文 windows 
    98 第一版下正确运行. 是不是够得上陆麟大侠所说的"世界最小的 pe 程序",我 
    也不能确定. 传上来, 大家看着玩玩吧. 用手工构造,没用任何编译软件.可能对大 
    家理解 pe 文件格式有用. 要知道, pe 程序格式可是 "瘟都死" 操作系统的主要 
    程序文件格式呀. 
            如果有哪位高人能给我减少几个字节,我将向他学习. 
            以下就是软件的全部字节: 共 305 个字节. 用 ultraedit 等十六进制 
    编辑软件新建一个十六进制文件,全填 00 ,大小 305 个字节,再按照以下内容修 
    改好,存盘,改名为 minipe.exe 即可. 每行的 ":" 号及前面的数字是十六进制 
    地址,每行的后面是文本显示,不是软件内容,不应写入软件,我想大家应该明白. 
    如果此贴较乱,把您的查看器的字体设小一点就行了.         以下是软件全部内容: 00000000:  4D 5A 50 00-02 00 00 00-04 00 0F 00-50 45 00 00  MZP        PE    
    00000010:  4C 01 01 00-00 00 00 00-00 00 00 00-00 00 00 00  L                
    00000020:  E0 00 8E 81-0B 01 00 00-C0 50 00 00-00 00 00 00  ?巵    繮        
    00000030:  00 00 00 00-30 11 00 00-00 10 00 00-0C 00 00 00      0            
    00000040:  00 00 40 00-00 10 00 00-30 01 00 00-01 00 00 00    @    0        
    00000050:  00 00 00 00-04 00 00 00-00 00 00 00-00 60 00 00              `    
    00000060:  30 01 00 00-3D CE 00 00-02 00 00 00-00 00 01 00  0  =?          
    00000070:  00 20 00 00-00 00 01 00-00 10 00 00-00 00 00 00                    
    00000080:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    00000090:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000A0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000B0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000C0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000D0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000E0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    000000F0:  00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00                    
    00000100:  00 00 00 00-43 4F 44 45-00 00 00 00-00 50 00 00      CODE    P    
    00000110:  00 10 00 00-01 00 00 00-30 01 00 00-00 00 00 00          0        
    00000120:  00 00 00 00-00 00 00 00-20 00 00 E0-00 00 00 00            ?    
    00000130:  C3 以下是软件内部各个项目的详细信息,供大家研究时参考: minipe.exe                        (hex)          (dec) .EXE size (bytes)                    250            592 
    Minimum load size (bytes)            300            768 
    Overlay number                        0              0 
    Initial CS:IP                  0000:0000 
    Initial SS:SP                  0000:014C            332 
    Minimum allocation (para)              F              15 
    Maximum allocation (para)          4550          17744 
    Header size (para)                    4              4 
    Relocation table offset                0              0 
    Relocation entries                    0              0 Portable Executable starts at                  c 
    Signature                              00004550 (PE) 
    Machine                                    014C (Intel 386) 
    Sections                                    0001 
    Time Date Stamp                        00000000 Wed Dec 31 19:00:00 1969 
    Symbol Table                            00000000 
    Number of Symbols                      00000000 
    Optional header size                        00E0 
    Characteristics                            818E 
        Executable Image 
        Line numbers stripped 
        Local symbols stripped 
        Bytes of machine word are reversed 
        32 bit word machine 
        Bytes of machine word are reversed 
    Magic                                      010B 
    Linker Version                              0.00 
    Size of Code                            000050C0 
    Size of Initialized Data                00000000 
    Size of Uninitialized Data              00000000 
    Address of Entry Point                  00001130 
    Base of Code                            00001000 
    Base of Data                            0000000C 
    Image Base                              00400000 
    Section Alignment                      00001000 
    File Alignment                          00000130 
    Operating System Version                    1.00 
    Image Version                              0.00 
    Subsystem Version                          4.00 
    reserved                                00000000 
    Image Size                              00006000 
    Header Size                            00000130 
    Checksum                                0000CE3D 
    Subsystem                                  0002 (Windows) 
    DLL Characteristics                        0000 
    Size Of Stack Reserve                  00010000 
    Size Of Stack Commit                    00002000 
    Size Of Heap Reserve                    00010000 
    Size Of Heap Commit                    00001000 
    Loader Flags                            00000000 
    Number of Directories                  00000000 Directory Name                          VirtAddr  VirtSize 
    --------------------------------------  --------  -------- Section Table 
    ------------- 
    01  CODE        Virtual Address        00001000 
            Virtual Size            00005000 
            Raw Data Offset        00000130 
            Raw Data Size          00000001 
            Relocation Offset      00000000 
            Relocation Count        0000 
            Line Number Offset      00000000 
            Line Number Count      0000 
            Characteristics        E0000020 
                Code 
                Executable 
                Readable 
                Writeable Disassembly 00401000 C3                    ret