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.
或者:
*((entry_t *)base) = a;
Run Code Online (Sandbox Code Playgroud)
要么
memcpy(base, &a, sizeof a);
Run Code Online (Sandbox Code Playgroud)
当然,确保实际上有8个字节可以复制到其中.