• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Dophi's Technology Blog

            享受知識共享帶來的愉快

            匯編,讓你更拉風

            這篇文章我并不打算一頭栽進細節(jié)中向你干癟無味地闡述匯編指令,因為寫這邊文章的目的實際上是為了讓你更好的使用c++,對于沒有接觸匯編的c++的程序員這篇文章很是值得一讀,因為在學(xué)習(xí)匯編后我覺得寫c++代碼更有把握了,同時還有一個好處,我的調(diào)試能力提高了不少,一切都基于我自己的學(xué)習(xí)經(jīng)歷,相信沒有什么比實踐經(jīng)驗更有說服力了,準備好了嗎?讓我們進入正題。
            c++中其實有很多c沒有的特性,即使是c,所謂的函數(shù)你真正搞清楚運作機制沒有?變量的讀寫本質(zhì)又是怎樣的?再提升到c++上來說,構(gòu)造函數(shù)什么時候被調(diào)用?c++的對象到底是怎么運作的?虛函數(shù)呢?我承認我是故意用這么多連續(xù)的問句在造勢,然后這么無非為了形成一種反差,因為當你粗略的學(xué)習(xí)下匯編后,你完全就有能力搞清楚這一切的問題,再多的問號到時候都會被你畫上完美的句號,強調(diào)一下,解決這一切問題,你需要的就是粗略的學(xué)習(xí)下匯編!原因很簡單,高級語言編譯出的匯編代碼大部分不會涉及到什么高深的匯編技巧,我們需要掌握的就是一些基本的匯編指令,以及匯編的基本語法,就有了足夠的能力去把上面說的問題一一搞定。好的讓我給你一個學(xué)習(xí)匯編的大綱:

            一. 在網(wǎng)上搜“匯編快速入門”這種關(guān)鍵字,然后讀幾篇文章,對匯編有個大致的了解,驗收準則就是知道m(xù)ov eax, 2這種語句實際就是高級語言中讀寫變量的中間步驟,cmp eax, ebx這種語句會設(shè)置標志位寄存器,還有mov eax, fs:[0],這條語句是學(xué)SEH機制時遇到的,fs:[0]保存的是一個線程環(huán)境結(jié)構(gòu)體,這條語句不用作為驗收準則,我是順便說說而已- -!


            二. 這個很重要了,也就是函數(shù)調(diào)用在匯編層如何實現(xiàn),驗收準則是:知道函數(shù)傳參數(shù)的兩種方式,包括棧傳參,寄存器傳參,寄存器傳參數(shù)的應(yīng)用就是c++中每個成員函數(shù)都會被傳入一個this指針,實際就是用的寄存器傳參。然后是知道棧幀的概念,知道現(xiàn)場保護的概念,實際上我這段話里已經(jīng)有很多關(guān)鍵字可以用來在網(wǎng)上搜了,絕對可以找到很多詳細資料。

            當這兩大點你覺得你已經(jīng)有知識儲備了,那么我們就可以踏上實踐的征途了!我假設(shè)你用的是vc,你可以隨意寫一些程序,但是要保證有自己寫的函數(shù)的調(diào)用,然后讓程序在調(diào)試模式下跑起來,再然后轉(zhuǎn)到匯編代碼的形式,基本上,現(xiàn)在已經(jīng)有足夠的環(huán)境聯(lián)系你的讀匯編代碼的能力了,到這里就沒什么好的方法了,不停的讀吧,不明白就查資料,然后再讀,反復(fù)幾次,效果自然就出來了。等你有能力看明白函數(shù)調(diào)用究竟是怎么一回事,基本上你就可以試著去寫點c++代碼來解讀了!因為在你理解函數(shù)如何實現(xiàn)的過程中,你對匯編編程的方式已經(jīng)有了完整的認識,雖然不細致,但是那又怎么樣?能看明白就行了,以后有遇到什么細節(jié)問題,也不過就是查查資料而已。

            這篇玩意可能沒能讓你哪怕學(xué)到一點匯編的知識,也沒能讓你對c++有更深刻的理解,但是至少我慫恿你學(xué)匯編成功了,不是嗎?  

            posted on 2009-01-10 02:50 dophi 閱讀(2044) 評論(4)  編輯 收藏 引用

            Feedback

            # re: 匯編,讓你更拉風 2009-01-10 10:02 Kevin Lynx

            沙發(fā)  回復(fù)  更多評論   

            # re: 匯編,讓你更拉風 2009-01-11 01:16 Tony Bai

            其實匯編好比打開了了解計算機底層運行模型的一扇大門,進了這扇門很多東西自然融會貫通了。  回復(fù)  更多評論   

            # re: 匯編,讓你更拉風 2009-01-12 00:07 silvasaga

            有些道理~ 我的經(jīng)驗就它可以調(diào)試出一些糾結(jié)的錯誤  回復(fù)  更多評論   

            # re: 匯編,讓你更拉風 2009-01-23 10:55 七星重劍

            @silvasaga
            好文章,我開始學(xué)習(xí)匯編  回復(fù)  更多評論   



            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久亚洲欧洲国产综合| 国产国产成人精品久久| 久久精品国产亚洲av瑜伽| 欧美性大战久久久久久| 伊人久久大香线蕉亚洲五月天| 久久亚洲AV成人出白浆无码国产| 成人国内精品久久久久一区| 999久久久免费国产精品播放| 国内精品伊人久久久影院| 精品无码久久久久久午夜| 久久天天躁狠狠躁夜夜2020老熟妇| 伊人精品久久久久7777| 亚洲精品无码久久久| 久久99精品久久久久子伦| 午夜福利91久久福利| 久久精品国产精品青草| 久久午夜免费视频| 国产L精品国产亚洲区久久| 亚洲AV日韩精品久久久久久| 欧美国产精品久久高清| 91精品国产高清久久久久久国产嫩草 | 亚洲精品高清久久| 无码人妻久久一区二区三区免费丨| 久久本道久久综合伊人| 国产精品18久久久久久vr| 色偷偷久久一区二区三区| 伊人久久精品影院| 久久中文字幕无码专区| 婷婷久久综合九色综合98| 久久99国产精品尤物| 婷婷伊人久久大香线蕉AV| 国产精品久久新婚兰兰| 亚洲国产香蕉人人爽成AV片久久| 狠狠色丁香婷婷综合久久来| 欧美丰满熟妇BBB久久久| 婷婷久久久亚洲欧洲日产国码AV | 亚洲人成伊人成综合网久久久| 青青青青久久精品国产h久久精品五福影院1421| 69国产成人综合久久精品| 久久精品麻豆日日躁夜夜躁| 人妻无码αv中文字幕久久|