参见英文答案 >
What is the smallest possible Windows (PE) executable?????????????????????????????????????2个
Windows上PE文件(exe)的最小文件大小是多少?
最小的内存分配?
我组装(使用MASM(ml.exe)和VS 10附带的link.exe)以下代码:
我不能省去kernel32.lib和ExitProcess,如果我这样做,程序崩溃了.
; Assmebly options .386 .MODEL FLAT,STDCALL option casemap:none ; Include Libs includelib kernel32.lib ; Imported symbols ExitProcess PROTO :Dword Sleep PROTO :Dword ; Code .CODE start: invoke Sleep,10000 invoke ExitProcess,0 END start
包含Sleep命令只是为了能够在程序结束之前读取内存使用情况.
现在我测量以下内容:.exe文件的大小正好是2.5 KB(如果我包含user32.lib和MessageBoxA,它的大小变为3 KB – > gt?块),并且应用程序在运行时使用136 KB RAM( Vista 32bit).
对于这样一个简单的程序来说,这有多少内存?为什么exe文件如此之大,RAM要求比exe文件大得多?
是否有一些最小的内存大小?那档案怎么样?看起来它的大小是0.5 KB的块,但是对于这个最短的程序,它不是0.5 KB吗?
我在哪里可以读到这个(除了http://msdn.microsoft.com/en-us/magazine/cc301805.aspx,我将检查)?
谢谢(我的第一个问题)
解决方法
如果您还没有阅读过,这是一个关于这个主题的非常好的页面:
http://www.phreedom.org/research/tinype/