最近在學習PE。VS2019寫的控制臺程式
#include <iostream>
int a[100000];
int b = 0x12345678;
int main()
{
int c;
std::cout << "Hello World!\n";
std::cout << "&a = " << &a << std::endl;
std::cout << "&b = " << &b<<std::endl;
std::cin >> c;
}
debug程式能看到似乎有個.textbss這么個區段。而在release程式下就找不到了。
后面說的暫且先僅針對release版程式
--------------------------------------------------------------------------
上面這個程式,我看了下。b存盤在.data之中。而a卻在【檔案的】.data以外,不過在.data的VirtualSize內部
--------------------------------------------------------------------------
我了解說存在這么一個區段.bss專門用于運行時存放a這樣的未初始化變數的地方。
但我查看過節表中并沒有這么個.bss區段。那么加載器又是怎么加載這個檔案,無中生有開辟這個空間的呢【就算開辟空間少說也需要一個大小。這個大小存在檔案的哪里呢】?
另外就是,用od看過這個程式,發現也沒看到有.bss區段啊?
謝謝老哥們了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/57014.html
標籤:其它技術問題
上一篇:求哥德巴赫猜想
