win32汇编的问题
时间:2011-08-28
来源:互联网
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
.data
MsgBoxCaption db "Iczelion Tutorial No.2",0
MsgBoxText db "Win32 Assembly is Great!",0
.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
是一个书上的例子
在点击构建并运行以后 显示的错误是
123.asm(4) : fatal error A1000: cannot open file : \masm32\include\windows.inc
是否要在设置路径里的各项进行设置呢 比如默认BIN是 $A\Bin 我是否要把它设置成本地的真实路径?
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
.data
MsgBoxCaption db "Iczelion Tutorial No.2",0
MsgBoxText db "Win32 Assembly is Great!",0
.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
是一个书上的例子
在点击构建并运行以后 显示的错误是
123.asm(4) : fatal error A1000: cannot open file : \masm32\include\windows.inc
是否要在设置路径里的各项进行设置呢 比如默认BIN是 $A\Bin 我是否要把它设置成本地的真实路径?
作者: welkin33 发布时间: 2011-08-28
引用楼主 welkin33 的回复:
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\inc……
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\inc……
RadASM只是一个开发工具而已,masm源程序能否编译和运行与RadASM没关系,因为不用RadASM我们也能编辑和编译程序。但是要注意,如果你使用RadASM内置的编译、运行指令,你必须配置好相关参数。
------------------------
不用RadASM编译的情况:
如果下载安装了Masm32,你要看看环境变量是否已正确地配置了。可以在命令行窗口执行set指令查看。
正确情况下,path应该含有masm32 安装目录\bin的文字,这个路径是操作系统查找你要用的编译器和链接器的路径;然后再看include变量,它应该指向windows.inc所在的文件夹。如果include变量设置正确,源文件中windows.inc前面就不需要再出现\masn32\include\的文字了,否则编译时会有问题。
如果没有include变量,那你要手工的配置一个。
像你所给的程序编译场景就提示打不开windows.inc,可能的原因就是编译器找不到它。
作者: gsy999 发布时间: 2011-08-28
引用 1 楼 gsy999 的回复:
inc……
inc……
补充,还有lib环境变量也要设置,不然,操作系统找不到你的源文件包含的lib文件。
------------
部分编译指令,供参考:
;set path=x:\masm32\bin;%path%
;set include=x:\masm32\include;
;set lib=x:\masm32\lib;
;echo on
;Ml /c /coff xx.asm
;Link /subsystem:windows xx.obj yy.lib zz.res (普通PE文件)
;Link /subsystem:console xx.obj yy.lib zz.res (控制台文件)
;Link /subsystem:windows /dll /def:aa.def xx.obj yy.lib zz.res(DLL文件)
作者: gsy999 发布时间: 2011-08-28
引用 1 楼 gsy999 的回复:
引用楼主 welkin33 的回复:
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
in……
引用楼主 welkin33 的回复:
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
in……
请问 如果我要使用RADASM直接编译运行的话 是否radasm不会自动设置好 需要我自己在软件里设置路径?
作者: welkin33 发布时间: 2011-08-28
引用 1 楼 gsy999 的回复:
引用楼主 welkin33 的回复:
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
in……
引用楼主 welkin33 的回复:
最近在学win32汇编,总是无法编译,各种问题,看了论坛,看到大家推荐RADASM,就下载下来用了,但是还是遇到一些问题,可能是我的设置不对吧,还请高手指教
比如 我的源程序
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
in……
果然是像你说的 没有INCLUDE变量 如果我手工配置 是否就是在 系统变量 里新建一个变量 变量名为 INCLUDE 变量值为 ...\masn32\include\ ?
作者: welkin33 发布时间: 2011-08-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28