1 c++ linux endianness uint32-t
ntohl需要一个uint32_t.我有许多不同成员(类型uint32_t或uint16_t)的消息.是否有可能正确地传递所有收到的struct或者union转换成说出uint32_t然后reinterpret_cast进入我的union或struct?
我一直在做的是逐行列出,union或者struct将每个成员传递给ntohl/s,msg.member = ntohl(msg.member);但这很麻烦!
数据结构从C#.NET应用程序(Windows)整体传输到Linux应用程序.
我试过的时候
void* ptr = &msg;
uint32_t temp = (uint32_t)ptr;
Run Code Online (Sandbox Code Playgroud)
编译器抱怨说:
错误:从'void*'转换为'uint32_t'会失去精度
| 归档时间: |
|
| 查看次数: |
743 次 |
| 最近记录: |