memory-layout

    10熱度

    1回答

    跟進Why is the ELF execution entry point virtual address of the form 0x80xxxxx and not zero 0x0?和Why do virtual memory addresses for linux binaries start at 0x8048000?,爲什麼我不能讓ld使用不同的入口點比默認的ld -e? 如果我這樣做

    1熱度

    1回答

    我確定這個問題之前已經提過很多次了,所以我做了一個快速搜索,發現this Wikipedia page解釋了浮點值的結構。 我送的設備上以及由某些浮點值的網絡接收數據(遊戲),這使我對以下問題: 難道我擔心字節順序? 如果字節順序很重要,我怎樣才能提取這些值而無需執行*(float*)轉換或聯合? (如整數移位技巧) 在此先感謝。

    1熱度

    1回答

    Linux中是否有工具將可執行文件中的不同變量映射到相應的內存段。 例如,如果我在我的可執行文件中有一個初始化的全局變量int x = 10,該工具應該顯示該變量屬於.data段的可執行文件,其格式類似於下面顯示的格式。 x .data

    5熱度

    3回答

    我已經寫幾個程序,結果發現,在64位的編譯時,所述存儲器映射段(爲共享對象)的地址,存儲器映射段(其中,例如,共享對象和共享存儲器被保持)是總是位於7f9aca84a000-7fff88400000附近,但從未完全相同。 我想知道是否有一個固定的起始地址x86_64體系(ELF64)這個內存段或最大和最小範圍這部分是什麼? 這就是爲什麼我問這個問題。我們正在將一個系統從Tru64 UNIX遷移到L

    4熱度

    2回答

    我正在談論Intel 32位平臺。 Linux內核版本2.6.31-14。 #include <stdio.h> #include <stdlib.h> int init_global_var = 10; /* Initialized global variable */ int global_var; /* Uninitialized global variable */ s

    4熱度

    4回答

    據我所知,菱形繼承產生歧義,它可以通過virtual Base Classes使用繼承迴避的是,問題不是它。當類是多態時,問題是關於菱形層次結構中派生最多的類的大小。下面是一個示例代碼和輸出樣本: #include<iostream> using namespace std; class Base { public: virtual void doSomething

    0熱度

    1回答

    有沒有辦法在Xcode中獲得類實例的編譯時字節對齊?在Visual Studio中有一個標誌(/ d1reportSingleClassLayoutXXX,其中XXX是類名),它將把類佈局轉儲到輸出窗口。 Xcode中是否有類似的標誌/功能? 像this除了使用llvm。

    5熱度

    2回答

    所以我正在玩Olly調試器,嗅探我還可以找出有關窗口的內容,然後按下M按鈕,彈出內存映射窗口。所以我搜索了一些關於這個主題的文章,我發現我實際上可以寫入64K以上的地址,我嘗試了很好,爲什麼它不起作用。關於那些較低的2GB空間: 爲什麼有這些差距?例如,有0x10000-0x1FFFF R/Wable空間,然後有128K沒有,然後一些只是可讀的空間。我的意思是這已經是分頁的權利,所以在物理空間中是

    2熱度

    3回答

    有這樣的代碼: #include <iostream> class Base { int x; }; class Derived : virtual public Base { int y; }; int main() { std::cout << sizeof(Derived) << std::endl; // prints 12 r

    12熱度

    1回答

    這可能是一個重複的問題。我想知道Windows進程的內存映射是怎樣的?我在尋找細節。請提供指向博客,文章和其他相關文獻的鏈接。