cc內存分配與內存對齊

cc內存分配與內存對齊

ID:34415526

大?。?6.61 KB

頁數(shù):13頁

時間:2019-03-05

cc內存分配與內存對齊_第1頁
cc內存分配與內存對齊_第2頁
cc內存分配與內存對齊_第3頁
cc內存分配與內存對齊_第4頁
cc內存分配與內存對齊_第5頁
資源描述:

《cc內存分配與內存對齊》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

1、不明白內存分配和指針的可以看看,其實這本是我們老師留的一個操作系統(tǒng)科技小論文作業(yè),不知道寫什么,干脆把以前收藏的經(jīng)典C內存分配的文章整理并修改了一下。??????此文章有2個用處,1:這是個小論文,格式完整,大家可以復制回去交作業(yè);2:這是整理的經(jīng)典C內存分配小教程(也加了些我自己的觀點),不明白內存分配的可以看看。還有很重要的一個問題:?????這篇文章引用的很多內容我也不知道究竟是出自誰手,知道作者是誰的麻煩告訴下,我好謝謝他。(記得都是csdn里面找的)tag:操作系統(tǒng)論文內存分配內存對齊c語

2、言內存分配免費論文下載.doc正文:關于程序設計的內存分配問題freec(遼寧工程技術大學?軟件學院?計SJ07-3?遼寧?葫蘆島?125000)[摘??要]在大多數(shù)低層程序設計中,由于內存分配與內存對齊問題所帶來的bug所占比重非常大。本文對內存分配中的分配空間類型、作用、方法、適用范圍、優(yōu)缺點以及內存對齊問題中的對齊原因、對齊規(guī)則等進行了詳細的說明,并結合大量c語言代碼進行闡述與分析。[關鍵詞]內存分配;堆棧原理;內存對齊;?1?引言操作系統(tǒng)的內存分配問題與內存對齊問題對于低層程序設計來說是非常

3、重要的,對內存分配的理解直接影響到代碼質量、正確率、效率以及程序員對內存使用情況、溢出、泄露等的判斷力。而內存對齊是常常被忽略的問題,理解內存對齊原理及方法則有助于幫助程序員判斷訪問非法內存。?2?程序的內存分配問題?一、一般C/C++程序占用的內存主要分為5種????1、棧區(qū)(stack):類似于堆棧,由程序自動創(chuàng)建、自動釋放。函數(shù)參數(shù)、局部變量以及返回點等信息都存于其中。????2、堆區(qū)(heap):?使用自由,不需預先確定大小。多數(shù)情況下需要由程序員手動申請、釋放。如不釋放,程序結束后由操作系

4、統(tǒng)垃圾回收機制收回。????3、全局區(qū)/靜態(tài)區(qū)(static):全局變量和靜態(tài)變量的存儲是區(qū)域。程序結束后由系統(tǒng)釋放。????4、文字常量區(qū):常量字符串就是放在這里的。?程序結束后由系統(tǒng)釋放。5、程序代碼區(qū):既可執(zhí)行代碼。?例:#includeintquanju;/*全局變量,全局區(qū)/靜態(tài)區(qū)(static)*/voidfun(intf_jubu);/*程序代碼區(qū)*/intmain(void)/**/{???????intm_jubu;/*棧區(qū)(stack)*/???????stat

5、icintm_jingtai;/*靜態(tài)變量,全局區(qū)/靜態(tài)區(qū)(static)*/???????char*m_zifum,*m_zifuc="hello";/*指針本身位于棧。指向字符串"hello",位于文字常量區(qū)*/???????void(*pfun)(int);/*棧區(qū)(stack)*/???????pfun=&fun;???????m_zifum=(char*)malloc(sizeof(char)*10);/*指針內容指向分配空間,位于堆區(qū)(heap)*/???????pfun(1);????

6、???printf("&quanju???:%x/n",&quanju);???????printf("&m_jubu???:%x/n",&m_jubu);???????printf("&m_jingtai:%x/n",&m_jingtai);???????printf("m_zifuc???:%x/n",m_zifuc);???????printf("&m_zifuc??:%x/n",&m_zifuc);???????printf("m_zifum???:%x/n",m_zifum);??????

7、?printf("&m_zifum??:%x/n",&m_zifum);???????printf("pfun??????:%x/n",pfun);???????printf("&pfun?????:%x/n",&pfun);???????getch();???????return0;}voidfun(intf_jubu){???????staticintf_jingtai;???????printf("&f_jingtai:%x/n",&f_jingtai);???????printf("&f_j

8、ubu???:%x/n",&f_jubu);/*棧區(qū)(stack),但是與主函數(shù)中m_jubu位于不同的棧*/}?輸出結果:&f_jingtai:404020&f_jubu???:22ff40&quanju???:404070&m_jubu???:22ff74&m_jingtai:404010m_zifuc???:403000&m_zifuc??:22ff6cm_zifum???:3d24e0&m_zifum??:22ff70pfun??????:4013af&pfu

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。