我有一個內存位置a,我想將一定數量的字節快速複製到另一個位置,我該如何在D中執行此操作?如何在D中執行類似於memcpy的操作D
例如我會怎麼做這:
int main()
{
void* src_data = 0x40001255;
void* dst_data = 0x47F22000;
u32 size = 0x200;
memcpy(dst_data, src_data, size);
}
而且如何將填補快一個結構:
struct data_struct
{
u32 block1;
u32 block2;
u32 block3;
u32 block4;
u32 block5;
u62 block6;
u128 bigblock;
} data_struct_t;
int main()
{
void* src_data = 0x40001255;
struct data_struct_t dst_data;
u32 size = sizeof(data_struct);
memcpy(dst_data, src_data, size);
}
謝謝! Roel
對於最後一種情況,即使在C中也不應該使用memcpy,除非您100%確定指向的內存具有與編譯器用於結構佈局相同的填充和對齊方式。這是非常不便攜的! – harald
是的,你是對的,但我想知道的是如何在D理論上做這種內存操作。我知道如何在不同的編譯器上工作。 –