因项目需要,于是忙乎如何编译一个体积最小的exe文件。实现的功能是运行时跳转到一个指定的网址,要求不能大于3k,当然越小越好。
由于体积限制,当然第一想到的是使用汇编来写。但从来没写过pc汇编程序,上网逛了一圈后打定用masm来编写。看了几个例子后程序写好了,实现了所需的功能,体积是2.5K。
虽然满足了要求,但看执行文件里的空白很多,我认为还是可以再优化。经多番斟酌,发现在编译时加上对齐限制,就可以把多余的空白去掉。
最后体积只有八百余字节,哈哈。以此文记之。
由于体积限制,当然第一想到的是使用汇编来写。但从来没写过pc汇编程序,上网逛了一圈后打定用masm来编写。看了几个例子后程序写好了,实现了所需的功能,体积是2.5K。
虽然满足了要求,但看执行文件里的空白很多,我认为还是可以再优化。经多番斟酌,发现在编译时加上对齐限制,就可以把多余的空白去掉。
ml /coff /c mini.asm
link /subsystem:windows /align:4 mini.obj
最后体积只有八百余字节,哈哈。以此文记之。