穿衣搭配的網(wǎng)站如何做網(wǎng)絡(luò)營銷簡介
免責(zé)聲明:內(nèi)容僅供學(xué)習(xí)參考,請合法利用知識,禁止進行違法犯罪活動!
本次游戲沒法給
內(nèi)容參考于:微塵網(wǎng)絡(luò)安全
工具下載:
鏈接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3
提取碼:6tw3
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
上一個內(nèi)容:5.第二階段x86游戲?qū)崙?zhàn)2-認識內(nèi)存
上一個內(nèi)存里寫了關(guān)于內(nèi)存的東西,最主要的是最后的寫那一幅畫面,腦子里一定要有那幅畫面,不管在計算機中看到的內(nèi)存是什么樣都套那幅畫面搞起來會很簡單,本次寫的是程序的流程,既然是要逆向,那就要知道一個程序的流程,要知道一個正向程序員是怎樣寫的代碼,他/她寫代碼是個怎樣的流程,這就需要有一個了解
先不寫關(guān)于代碼的,先寫一個生活當(dāng)中的流程
比如早上醒了然后起床然后洗漱(假設(shè)都洗漱)然后吃飯(假設(shè)都會吃早飯)然后生活(工作的工作上學(xué)的上學(xué)這種)然后忙了一天睡覺
簡化的流程就是 醒了 -》起床-》洗漱-》吃飯-》生活-》睡覺,這就是一個流程大綱然后就會按部就班的一步一步去做
然后 醒了 -》起床-》洗漱-》吃飯-》生活-》睡覺 這是一個流程大綱,再細化一點比如起床,怎么起床?起床大眾的過程是掀開被子然后坐起來然后下床然后穿衣服然后穿鞋然后就完成起床這個過程,然后可以說起床是由 掀開被子然后坐起來然后下床然后穿衣服然后穿鞋 這些動作組成的
然后來到寫游戲代碼中,它也和起床睡覺一個道理,比如打怪物,首先要尋路到有怪物的位置然后選擇怪物然后打怪然后撿怪物的掉落物
簡化的流程 尋路到有怪物的位置-》選擇怪物-》打怪物-》撿怪物的掉落物 這樣的一個流程
然后尋路到有怪物的位置它就由 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這樣的一個流程組成,這些流程都做完了尋路到有怪物的位置就算完成了,然后選擇怪物、打怪物、撿怪物的掉落物也就是這樣的一個道理,然后 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這每一個步驟都是一段代碼,然后代碼它也是有內(nèi)存地址的,也就是會有代碼的頭部(代碼剛開始的位置),然后看下圖紅框,當(dāng)代碼執(zhí)行到 尋路到有怪物的位置位置之后,它就會跳轉(zhuǎn)到 上坐騎的代碼,然后上坐騎的代碼執(zhí)行完再執(zhí)行打開地圖的代碼直到執(zhí)行完下坐騎的代碼,然后執(zhí)行完下坐騎的代碼之后代碼就會跳到選擇怪物的哪里再執(zhí)行選擇怪物的代碼,其它的也是這個道理,這樣的一個步驟叫做call(函數(shù)調(diào)用,或者說調(diào)用函數(shù))
![]()
然后就有一個問題,既然 尋路到有怪物的位置 這個東西是 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這個流程組成的為什么不直接寫成下圖的樣子?這時因為 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這一段流程不只有尋路到有怪物的位置會用,這能還會有尋路到某個NPC某個玩家身邊會用到 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這個流程,如果按照下圖中的寫法會重復(fù)寫 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 它們的代碼,按照上圖的寫法只需要寫尋路到有怪物的位置就可以,不需要寫重復(fù)寫 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎 這一段流程,這一段流程只需要寫一次就行了,比如寫尋路到某個NPC時直接去用 上坐騎 -》打開地圖 -》尋路 -》確認到達 -》下坐騎這一段流程就可以,比如尋路直接告訴尋路到哪去就行,就不需要再寫尋路到NPC的代碼,這樣就會節(jié)省很多很多時間,少寫很多很多代碼
![]()
以上是正向程序的開發(fā)流程,不理解、看不懂也沒事,后面直接看逆向過程,多看看就能明白了
然后是常量和變量
常量意思是程序運行過程中不會變化的數(shù)據(jù),或者說只要數(shù)據(jù)存在了就不會變了,或者說整個程序運行過程中只會發(fā)生一次變化
變量意思是程序運行過程中會發(fā)生變化的數(shù)據(jù)
進程和線程
進程在?3.第二階段x86游戲?qū)崙?zhàn)2-認識強大的CE找血量(什么是進程)?里寫了,現(xiàn)在對它再做一個補充,進程里面的數(shù)據(jù)有代碼有常量和變量,變量一般就是比如qq里的網(wǎng)名、聊天數(shù)據(jù)、好友信息這種,常量的數(shù)據(jù)表面上一般看不到,然后雙擊一個exe文件會啟動一個進程這個進程不會重復(fù),如果雙擊兩次exe文件也就是運行兩次程序這樣的是兩個完全不相關(guān)的進程,不算是重復(fù)的進程,然后每個進程都會有一個進程id,如下圖
然后進程指的是程序的代碼(代碼也屬于數(shù)據(jù)的一種)、程序的數(shù)據(jù)等這些,也僅僅是數(shù)據(jù),這意思就是進程并不會執(zhí)行(或者說運行)代碼,進程只是一個內(nèi)存空間,內(nèi)存空間里有程序所需要的數(shù)據(jù)和代碼,并不會使用數(shù)據(jù)和代碼,那誰來使用?這里又有新的概念了,線程,線程會執(zhí)行進程里的代碼,執(zhí)行了代碼也就使用了數(shù)據(jù),一個進程里會默認有一個線程,這個線程被稱為主線程,一個進程里可以有多個線程(線程有很多由操作系統(tǒng)控制),多線程的進程,比如現(xiàn)在想起床和洗漱一起做,如果只用主線程去做它就只能先起床再洗漱或者先洗漱再起床,這時可以開啟一個新的線程,讓新的線程做洗漱,讓主線程做起床,這樣就能邊起床邊洗漱了,當(dāng)然線程執(zhí)行代碼也不是這樣簡單的,現(xiàn)在先這樣理解