



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何用VC6.0集成 开发环境来构建MASM32汇编的编程环境(原创)作者:maxzhou88(周哥)开发高性能的程序少不了用汇编编程,限于C语言中内嵌汇编语言的局限(如在C代码中混合汇编语言编程时,很难实现跳表),一些代码必须书写在独立的 汇编源文件中。遗憾的是,在调试时,只能看到裸的汇编码,而不能到懂标号,变量等,现在能这样C与ASM混合编程就方便多了。编程环境:VC6.0,Masm32v8优点:1 使用VC6.0集成开发环境可以利用其强大的Debug功能来实现源代码级调试(Source Code Debug),(看变量、设置断点、查看MASM32的高级命令展开.)2 使用VC6.0的资源编辑器,可视化编辑资源。3 实现C/C+与ASM的混合编程。4 在窗口下比在CMD下工作符合一般人的习惯,再也不需要写makefile文件或xxx.bat文件了。方法:1 安装VC6.0,这个我就说了,大家都会的哦,一般我将它安装在 C:Program Files Microsoft Visual Studio。2 安装MASMv8.exe,一般我将它安装在 D:MASM32 下。3 将Win32ASM(masm32)中的ml.exe和ml.err拷贝到C:Program Files Microsoft Visual StudioVC98Bin4 使用VC6.0新建一个空工程,如:hello(类型为:win32 console、win32 application、DLL等均可)。5 把汇编和资源文件拷至新建工程目录下(hello.asm,hello.rc),并把这些文件加入工程中(将*.asm添加到Source Files, 将*.rc添加到Resource Files)。6 配置IDE(这就配置一次就搞定):在VC的菜单tools/option/paths(include files)中添加一个路径d:MASM32INCLUDE 7 配置工程(每个工程都要这样配置):打开工程设置(project settings),点击*.asm文件选择(Custom Build),命令中加上: ml /c /coff /Zi /Fo$(TargetDir)$(InputName).obj $(InputPath)输出中加上: $(TargetDir)$(InputName).obj 注意选Settings for: Win32 Debug 和 Win32 release,将上面的两条都加上,而且每个*.ASM文件(如有多个ASM时)都这样设置。8 点击VC的编译(build)就可以运行了哦。 至此就可以使用VC调试器源码级调试汇编程序了,可以设置断点,察看变量、内存、寄存器等,masm出现语法错误时可以双击output window中的错误行定位到程序中的指定行。 为了不在debug和release目录中产生超大的预编译头文件xxxx.pch,在工程设置(project settings)中的C/C+ - Precompiled Headers的选项上选择不使用预编译头,其实就现在的电脑而言,不使用预编译头也能快速地编译C代码的哦. 资源编译/编辑器蛮好用的.只是还有个问题我也没有搞懂:VC6.0的资源编译/编辑器不支持16进制的资源ID,非要用10进制的,我是用两种方法解决 的:一是将资源文件*.rc中的ID改成10进制,这样就可以编辑修改了;二是直接用老罗书中的rc文件导入,但在VC6.0中不要打开编辑它就可以了. 有人能告诉我VC6.0的资源编辑器用16进制ID的方法嘛,可能这很简单,我没有去深究罢了.有空来踩踩我的空间哦:/maxzhou88该文在我的百度空间:/maxzhou88/blog/item /7c7b4b09181ce186d1581b8f.htmlWin32 C+/ASM 混合编程的Demo下载: /pc 我在学老罗的MASM32程序时都是象这样在VC6.0的集成环境下工作的,他书中的例子我基本都试验过,比在DOS(CMD窗口)下方便多了,也不要什 么makefile文件,建个proj项目就搞定,最重要的是用VC的资源编辑器来编辑资源比原先手工编辑方便多了,如果有什么问题欢迎大家交流哦!周哥(maxzhou88) 写于 2009-01-21为了方便大家配置VC6.0 ,我在这里贴两张图:这是配置项目中每个ASM文件的Custom Build 注意:Debug 和 Release 版本都要设置)这是配置VC6.0的IDE,就设置一遍就搞定了。不过这两张图是我百度空间的,但百度是不提供图片外链服务的哦!别急,先分别右击这两张图的图框,在弹出菜单的“属性”中COPY图片的URL地址,然后 将地址在IE中打开,这时图片就下载你机器的IE缓冲区中,再将这个看不到图的页面按F5刷新一下,哈哈!IE就直接从缓冲区中取图了,你也就看得见了。 没有办法啊,对不能外链的图就只能这样麻烦得做了哦。 另外,我在调试MASM32程序时还经常开CMD窗来实时查看变量,这也是种很好的Debug方法,其实在Win32下无所谓 windows窗口程序和console 控制台程序,也就是说在建立工程时可以选console 控制台程序类型来写windows窗口程序,反之亦然。我一般是这样做的,先将工程以windows窗口程序类型来建立新工程,当要用CMD窗口来调试输 出变量时,我就将工程的link选项卡中的Project options中的subsystem:windows 换成 subsystem:console就可以了,这时候编译连接后程序运行就会出CMD窗口,当调试完后再改回subsystem:windows即可。CMD控制台输出的代码片段如下:.data?szBufferdbhello the world ,0dh, 0ah ;要调试的输出内容hStdOutdd? ;控制台标准输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论