如何将8个字节写入void*地址?

Tim*_*ung 1 c c++ pointers data-structures

所以我有一个8字节的数据结构

typedef struct __attribute__((__packed__)) entry{
    // something here total 64 bits;
}entry_t;
Run Code Online (Sandbox Code Playgroud)

我有一个void* base指向我要放入条目的基地的指针.

entry_t a;
*base = a;
Run Code Online (Sandbox Code Playgroud)

做这个工作?

或者我必须将指针投射到指针entry_t

更新
对不起我没有提到我不能使用memcpy,因为我使用的内核还没有实现memcpy.

Lee*_*ker 5

或者:

*((entry_t *)base) = a;
Run Code Online (Sandbox Code Playgroud)

要么

memcpy(base, &a, sizeof a);
Run Code Online (Sandbox Code Playgroud)

当然,确保实际上有8个字节可以复制到其中.