将 int 写入 char 数组
我正在用 C 语言编写一个模拟器。它的内存是字节可寻址的,因此我使用的是 char 数组,但我需要读取/写入未对齐的 32 位整数。
目前我正在使用 *((unsigned int*) &memory[address])
,但它看起来非常糟糕。最好的方法是什么?
I'm writing an emulator in C. Its memory is byte-addressible so I'm using a char array, but I need to read/write unaligned 32-bit integers.
Currently I'm using *((unsigned int*) &memory[address])
, but it seems pretty horrible. What's the best way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以直接使用
memcpy()
。例如:You can use
memcpy()
directly. For example: