最近想学学汇编,我的电脑是win7 32位系统,看了看网上的推荐,感觉MASMPlus这个汇编IDE使用很方便,于是就安装。但使用默认配置,写的第一个最简单的汇编程序编译连接居然报错:
LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
asm1.exe : fatal error LNK1120: 1 unresolved externals
看了网上出现同样错误的筒子的分析,明白报错原因是寄存器位数不匹配,因为我使用的是win7 32位系统,而asm源文件却用到了16位寄存器,连接的时候会出错。
解决办法:打开masmPlus,【配置】--【系统配置】--【编译/脚本】,勾选“单独文件默认使用DOS模式(第二链接器)”,编译单独asm文件的时候就不会出问题了,但是注意,是16位的时候。如果32位的汇编,不要勾这个了。