電腦的記憶體問題

來源:互聯網
上載者:User

標籤:c語言   電腦   棧   cpu   組合語言   

電腦的硬體主要為:控制器,寄存器,運算器,以及輸入輸出。

fseek:                 表示定為指標

ftell:                    表示返回當前的值

rewind:             表示返回到檔案的頭

 

電腦的匯流排就是cpu的外部匯流排。

電腦的儲存空間就是記憶體。

RAM在cpu內部,RAM在cpu內起到緩衝區的作用。比電腦的記憶體大,但是運算速度較慢。

 

電腦的結構有兩種:

一、    馮*諾依曼結構:馮·諾依曼結構也稱普林斯頓結構,是一種將程式指令儲存空間和資料存放區器合并在一起的儲存空間結構。

二、    哈佛結構:哈佛結構是一種將程式指令儲存和資料存放區分開的儲存空間結構。

 

cs:                       表示代碼

ds:                       表示資料

ss:                       表示棧段

ip:                       表示段內位移

pc:                      表示指向下一條要執行的指令

readelf        -a          .o(.o檔案)                                  表示查看.o檔案的連結

電腦內的連結器不等同於載入器。

註:所有的彙編的入口為start.

 

有關全域變數與局部變數存放的問題:

一、    初始化的全域變數全放在data裡。

二、    初始化的靜態局部變數放在data裡。

三、    未初始化的全域變數放在bss裡。

四、    未初始化的靜態局部變數放在bss裡。

五、    除靜態局部變數外的局部變數全在棧裡面。

六、    常量是存放在text(唯讀)裡面。

七、    向系統申請的記憶體空間全在堆裡面。

註:在調用函數時棧是先進去的資料後出來。

        一段稱為棧針。

        每個函數的局部變數在每個函數的棧針裡面。

        malloc                    表示懸null 指標。

        const                       表示唯讀,是放在程式碼片段裡

 

man的協助:

例如:man     3     fputc                               表示查看fputc的協助。

其中會看到:int         fputc    (int c,FILE *stream)

                            其中的c為整形變數c

                            而*stream表示是文本指標

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.