0
A
回答
2
不可以。當您調用函數並從函數返回時,堆棧用於存儲函數調用順序和上下文。這也包括這些函數的局部變量。該堆棧位於內存的一個(最好是不可執行的)讀寫數據部分。
整個程序代碼本身(通常)在.text
部分,它位於在只讀可執行存儲器。
如果你是在Linux上,檢查出readelf
工具,它會告訴你所有關於你的ELF可執行文件是怎麼回事,當加載到內存中進行佈局。
如果您使用的是Windows PE Explorer將做同樣的事情,但它是過時的,不是免費的,不支持64位(PE32加)的可執行文件。
1
函數declsrations和definitions是句法結構,如逗號或一對括號。它們只存在於源代碼中,並不存儲在任何地方。
的函數,而另一方面,是什麼,存在在運行時,有一個地址。沒有指定地址在哪裏。就C而言,組合和數據屬於完全不同的地址空間。他們的地址不能混用。所以你甚至不能問它是否在堆棧中,問題是不明確的。
C沒有程序指令或分段或過程的概念,所以它是沒有意義的談論他們在C的情況下無論是。你需要指定你的架構師和操作系統,以便能夠談論他們。
+0
除非你用'-g'編譯:-) –
相關問題
- 1. 角指令 - 功能
- 2. 指令指令通信和呼叫通過功能
- 3. 調用從孩子指令的功能和在父指令
- 4. 通功能,以指令
- 5. 廣場功能的指令
- 6. 沒有指令功能
- 7. 呼叫角功能指令
- 8. 機器指令和內存地址
- 9. 簡單的程序幫助 - 發送動態內存指針功能
- 10. 功能和指針指針
- 11. 從鏈接功能到控制器功能從內部指令到另一個指令傳遞元素
- 12. 關於性能分析(性能和內存)的指導.net應用程序
- 13. PHP性能(指令緩存/功能波動)
- 14. izpack 4.3.4程序和功能
- 15. 角指令,該指令要求在控制器範圍內的功能
- 16. 不能通過功能指令
- 17. 不能內部指令
- 18. C++程序指令
- 19. enum無法理解內存和功能
- 20. PostgreSQL的功能和內存問題
- 21. 分配內存的指針,內部結構,功能
- 22. 程序集指令和C++相當於?
- 23. 此功能給我「程序內存不足」?
- 24. 內部與外部程序/功能
- 25. 從子指令調用指令功能不工作
- 26. 在另一個指令的鏈接功能中添加指令
- 27. 將基本指令功能擴展到其他指令
- 28. ng-click在指令的內部模板中未提供功能
- 29. 如何調用AngularJS指令內部控制器功能
- 30. 呼叫控制器內自定義指令功能angularjs
.text區域與程序指令/文本區域一樣嗎?哪個在進程內存底部(最低)? – Newbie
是的,你的程序代碼(二進制機器指令)。你問的是特定於實現的東西。查看一些編譯的可執行文件,看看它們通常是如何佈局的。 –
謝謝。得到我需要的。 – Newbie