国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
如何用VC6.0集成開(kāi)發(fā)環(huán)境來(lái)構(gòu)建MASM32匯編的編程環(huán)境(原創(chuàng)) -
作者:maxzhou88(周哥)

   開(kāi)發(fā)高性能的程序少不了用匯編編程,限于C語(yǔ)言中內(nèi)嵌匯編語(yǔ)言的局限(如在C代碼中混合匯編語(yǔ)言編程時(shí),很難實(shí)現(xiàn)跳表),一些代碼必須書(shū)寫(xiě)在獨(dú)立的匯編源文件中。遺憾的是,在調(diào)試時(shí),只能看到裸的匯編碼,而不能到懂標(biāo)號(hào),變量等,現(xiàn)在能這樣C與ASM混合編程就方便多了。

編程環(huán)境:VC6.0,Masm32v8

優(yōu)點(diǎn):
[1] 使用VC6.0集成開(kāi)發(fā)環(huán)境可以利用其強(qiáng)大的Debug功能來(lái)實(shí)現(xiàn)源代碼級(jí)調(diào)試(Source Code Debug),(看變量、設(shè)置斷點(diǎn)、查看MASM32的高級(jí)命令展開(kāi)......)
[2] 使用VC6.0的資源編輯器,可視化編輯資源。
[3] 實(shí)現(xiàn)C/C++與ASM的混合編程。
[4] 在窗口下比在CMD下工作符合一般人的習(xí)慣,再也不需要寫(xiě)makefile文件或xxx.bat文件了。

方法:
[1] 安裝VC6.0,這個(gè)我就說(shuō)了,大家都會(huì)的哦,一般我將它安裝在 C:\Program Files\ Microsoft Visual Studio。
[2] 安裝MASMv8.exe,一般我將它安裝在 D:\MASM32 下。
[3] 將Win32ASM(masm32)中的ml.exe和ml.err拷貝到C:\Program Files\ Microsoft Visual Studio\VC98\Bin
[4] 使用VC6.0新建一個(gè)空工程,如: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)中添加一個(gè)路徑d:\MASM32\INCLUDE
[7] 配置工程(每個(gè)工程都要這樣配置):打開(kāi)工程設(shè)置(project settings),點(diǎn)擊*.asm文件選擇(Custom Build),
                                      命令中加上: ml /c /coff /Zi /Fo$(TargetDir)\$(InputName).obj $(InputPath)
                                      輸出中加上: $(TargetDir)\$(InputName).obj
    注意選Settings for: Win32 Debug 和 Win32 release,將上面的兩條都加上,而且每個(gè)*.ASM文件(如有多個(gè)ASM時(shí))都這樣設(shè)置。

[8] 點(diǎn)擊VC的編譯(build)就可以運(yùn)行了哦。

    至此就可以使用VC調(diào)試器源碼級(jí)調(diào)試匯編程序了,可以設(shè)置斷點(diǎn),察看變量、內(nèi)存、寄存器等,masm出現(xiàn)語(yǔ)法錯(cuò)誤時(shí)可以雙擊output window中的錯(cuò)誤行定位到程序中的指定行。
    為了不在debug和release目錄中產(chǎn)生超大的預(yù)編譯頭文件xxxx.pch,在工程設(shè)置(projectsettings)中的C/C++ -> PrecompiledHeaders的選項(xiàng)上選擇"不使用預(yù)編譯頭",其實(shí)就現(xiàn)在的電腦而言,不使用預(yù)編譯頭也能快速地編譯C代碼的哦.

   資源編譯/編輯器蠻好用的.只是還有個(gè)問(wèn)題我也沒(méi)有搞懂:VC6.0的資源編譯/編輯器不支持16進(jìn)制的資源ID,非要用10進(jìn)制的,我是用兩種方法解決的:一是將資源文件*.rc中的ID改成10進(jìn)制,這樣就可以編輯修改了;二是直接用老羅書(shū)中的rc文件導(dǎo)入,但在VC6.0中不要打開(kāi)編輯它就可以了.有人能告訴我VC6.0的資源編輯器用16進(jìn)制ID的方法嘛,可能這很簡(jiǎn)單,我沒(méi)有去深究罷了.

有空來(lái)踩踩我的空間哦:http://hi.baidu.com/maxzhou88
該文在我的百度空間:http://hi.baidu.com/maxzhou88/blog/item/7c7b4b09181ce186d1581b8f.html
Win32 C++/ASM 混合編程的Demo下載: http://maxzhou88.ys168.com/pc

   我在學(xué)老羅的MASM32程序時(shí)都是象這樣在VC6.0的集成環(huán)境下工作的,他書(shū)中的例子我基本都試驗(yàn)過(guò),比在DOS(CMD窗口)下方便多了,也不要什么makefile文件,建個(gè)proj項(xiàng)目就搞定,最重要的是用VC的資源編輯器來(lái)編輯資源比原先手工編輯方便多了,如果有什么問(wèn)題歡迎大家交流哦!

                                                         周哥(maxzhou88) 寫(xiě)于 2009-01-21

為了方便大家配置VC6.0 ,我在這里貼兩張圖:

這是配置項(xiàng)目中每個(gè)ASM文件的Custom Build 注意:Debug 和 Release 版本都要設(shè)置)


這是配置VC6.0的IDE,就設(shè)置一遍就搞定了。

不過(guò)這兩張圖是我百度空間的,但百度是不提供圖片外鏈服務(wù)的哦!別急,先分別右擊這兩張圖的圖框,在彈出菜單的“屬性”中COPY圖片的URL地址,然后將地址在IE中打開(kāi),這時(shí)圖片就下載你機(jī)器的IE緩沖區(qū)中,再將這個(gè)看不到圖的頁(yè)面按F5刷新一下,哈哈!IE就直接從緩沖區(qū)中取圖了,你也就看得見(jiàn)了。沒(méi)有辦法啊,對(duì)不能外鏈的圖就只能這樣麻煩得做了哦。

    另外,我在調(diào)試MASM32程序時(shí)還經(jīng)常開(kāi)CMD窗來(lái)實(shí)時(shí)查看變量,這也是種很好的Debug方法,其實(shí)在Win32下無(wú)所謂windows窗口程序和console 控制臺(tái)程序,也就是說(shuō)在建立工程時(shí)可以選console控制臺(tái)程序類型來(lái)寫(xiě)windows窗口程序,反之亦然。我一般是這樣做的,先將工程以windows窗口程序類型來(lái)建立新工程,當(dāng)要用CMD窗口來(lái)調(diào)試輸出變量時(shí),我就將工程的link選項(xiàng)卡中的Project options中的subsystem:windows 換成subsystem:console就可以了,這時(shí)候編譯連接后程序運(yùn)行就會(huì)出CMD窗口,當(dāng)調(diào)試完后再改回subsystem:windows即可。


CMD控制臺(tái)輸出的代碼片段如下:

.data?
szBuffer   db   'hello the world' ,0dh, 0ah ;要調(diào)試的輸出內(nèi)容
hStdOut   dd   ? ;控制臺(tái)標(biāo)準(zhǔn)輸出句柄,在CMD中是默認(rèn)打開(kāi)的
dwBytesWrite dd   ?
;用下列語(yǔ)句就可以實(shí)現(xiàn)CMD的輸出
invoke WriteConsole, hStdOut, addr szBuffer, sizeof szBuffer, addr dwBytesWrite, NULL
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【轉(zhuǎn)】微機(jī)原理8086/8088匯編語(yǔ)言上機(jī)基本操作指導(dǎo)
windows環(huán)境下VS2013編譯openSSL
Windows10下搭建匯編語(yǔ)言開(kāi)發(fā)環(huán)境
x86平臺(tái)轉(zhuǎn)x64平臺(tái)關(guān)于內(nèi)聯(lián)匯編不再支持的解決
程序中嵌入?yún)R編的實(shí)例
匯編DOS調(diào)試入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服