为什么同样的代码编译的大小不同
.386win32汇编
.MODEL flat,stdcall
option casemap:none
;<!-- Include文件定义 -->
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
szCaption db 'A MessageBox !',0
szTextdb 'Hello, World !',0
.code
start:
invoke MessageBox,NULL,offset szText,\
offset szCaption,MB_ICONWARNING
invoke ExitProcess,NULL
end start
[解决办法]
估计是楼主搬动了 Masm32 目录后,没有再设置正确的 path 而引用了其它地方的 vc6 里的 link.exe 进行链接造成的;刚才试了下,vc6 的link.exe 确实是默认 4K 对齐的,vc2008 的就不是了,所以 #17 的 vc2010 也没有问题,除非是手工加入对齐选项。可以参考http://blog.csdn.net/bagboy_taobao_com/article/details/7295575