資源描述:
《windows進(jìn)程中的內(nèi)存結(jié)構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211
2、096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2
3、006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[wi
4、ndows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assemb
5、ly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)用VC寫Assembly代碼(6)--附錄2[windows進(jìn)程中的內(nèi)存結(jié)構(gòu)]2006-06-0823:211096人閱讀評(píng)論(0)收藏舉報(bào)在閱讀本文之前,如果你連堆棧是什么多不知道的話,請(qǐng)先閱讀文章后面的基礎(chǔ)知識(shí)。?接觸過(guò)編程的人都知道,高級(jí)語(yǔ)言都能通過(guò)變量名來(lái)訪問(wèn)內(nèi)
6、存中的數(shù)據(jù)。那么這些變量在內(nèi)存中是如何存放的呢?程序又是如何使用這些變量的呢?下面就會(huì)對(duì)此進(jìn)行深入的討論。下文中的C語(yǔ)言代碼如沒(méi)有特別聲明,默認(rèn)都使用VC編譯的release版。?首先,來(lái)了解一下?C?語(yǔ)言的變量是如何在內(nèi)存分部的。C?語(yǔ)言有全局變量(Global)、本地變量(Local),靜態(tài)變量(Static)、寄存器變量(Regeister)。每種變量都有不同的分配方式。先來(lái)看下面這段代碼:?#include??int?g1=0,?g2=0,?g3=0;?int?main()?{?static?int
7、?s1=0,?s2=0,?s3=0;?int?v1=0,?v2=0,?v3=0;?//打印出各個(gè)變量的內(nèi)存地址?printf("0x%08x/n",&v1);?//打印各本地變量的內(nèi)存地址?printf("0x%08x/n",&v2);?printf("0x%08x/n/n",&v3);?printf("0x%08x/n",&g1);?//打印各全局變量的內(nèi)存地址?printf("0x%08x/n",&g2);?printf("0x%08x/n/n",&g3);?printf("0x%08x/n",&s1);?//打印各靜態(tài)
8、變量的內(nèi)存地址?printf("0x%08x/n",&s2);?printf("0x%08x/n/n",&s3);?return?0;?}?編譯后的執(zhí)行結(jié)果是:?0x0012ff78?0x0012ff7c?0x0012ff80?0x004068d0?0x004068d4?0x004068d