我的問題是,我想將結構形式的32位空間移動到64位空間。在C編程語言中將結構從32位移動到64位
假設我聲明相同的結構在64位空間與相同的字段,有沒有辦法將相應的字段從32位複製到64位結構?
讓我來介紹一下實際的問題,這與高速緩存的東西有關,我們限制RAM的大小是32位空間,所以如果我們在RAM上有1G空間,並且單個高速緩存對象的結構大小是1M,那麼我可以存儲的對象數量限制爲1G/1M。因此爲了解決這個probem我想聲明在64位spcace我的結構(以便沒有spcace緊縮)和對象的數量可以incrased爲無窮幾乎
假設我們有在32位空間的結構
typedef struct x{
int a ;
int *b ;
} x_t;
現在我想在64位空間中移動此結構,刪除32位空間結構。
typedef struct x_64{
int a ;
int *b ;
} x_64_t;
所以,如果我的先前變量等的x訪問> B或x.a,我怎樣才能確保相同的值被髮送到64位的結構,無需在整個代碼的功能的變化。
一種方法可以是在64位空間中有一個緩衝區,對於32位空間中的變量的每個訪問都可以將64個寫入/讀入緩衝區。但那是一個乏味的過程,可以有一些選擇嗎?
歡迎計算器,你可能想向我們展示一些你正在嘗試做的事情的代碼,因爲目前還不清楚你試圖達到的目標。 – hetepeperfan
讓我來介紹一下實際的問題,這與緩存的東西有關,我們在RAM上的大小是32位,所以如果我們在RAM上有1G空間,並且單個緩存對象的結構大小是1M,那麼我可以存儲的對象數量限制爲1G/1M。因此爲了解決這個問題,我想用64位spcace來聲明我的結構(這樣就沒有spcace緊縮),並且實際上對象的數量可以無限增加。 – kharevbv
請更新問題,其他用戶與您的特定問題將在那裏尋找信息,而不是在評論中。 – hetepeperfan