所以我定义了一个8字节的数据结构
typedef struct __attribute__((__packed__)) entry{
// something here total 64 bits;
}entry_t;
我有一个 void* base
,它是一个指针,指向我要放置条目的位置。
将
entry_t a;
*base = a;
做这份工作?
或者我必须将基数转换为指向 entry_t
的指针?
更新
抱歉,我没有提到我不能使用 memcpy,因为我使用的内核还没有实现 memcpy。
最佳答案
或者:
*((entry_t *)base) = a;
或
memcpy(base, &a, sizeof a);
当然,请确保实际上有 8 个字节可供复制。
关于c++ - 如何将 8 个字节写入 void * 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21447108/