怎样才能使我的exe尽量的小。 我用的是Win32sdk,VC6.0,RTTI和异常处理也关掉了。还有没有其他方法可以减小exe。是不是换一个编译器会好一些? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、使用release版本。debug版本中含有调试信息,故很大。2、使用exe的压缩工具,例如ASPack。 studentforever() 和wuchuncai(sssss) 我已经用的是release的minimize了。还有没有其他方法。 现在还有必要吗?如果你的程序写的足够好可以试试1字节对齐realse+exe压缩工具,应该就能很小了 zx_sanjin(1.5kg)我现在已经是1字节对齐了。 用VC里面套( ASM 汇编) 再优化,这样不仅小,而且代码执行效率高. 楼主你现在exe文件是多大啊,离你期望的还有多大差距? 1、使用release版本。debug版本中含有调试信息,故很大。2、使用exe的压缩工具,例如ASPack。 动态连接MFC;编译为Release版本。 直接填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 IOCP的接发数据的类型问题?(思路求帮助) 如何修改别人的程序啊 没源码 EVC浮点数转字符串函数 如何生成下面xml文件 急!初学者望前辈帮忙!用一个工作区间怎么去调用一个已经建好的工程? 如何使CListCtrl控件的最上边一行和最左边一列都显示3D效果,就像Flexgrid控件那样? 请问如何把CString转化为BYTE? vc如何入门? 字体问题 fantong来领分 控制字符的疑惑 各位老大,小弟有一个小问题请教?感谢!!!
2、使用exe的压缩工具,例如ASPack。
我已经用的是release的minimize了。还有没有其他方法。
我现在已经是1字节对齐了。
2、使用exe的压缩工具,例如ASPack。
编译为Release版本。
-----------------
标题: 可能是最小的 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