1

ntohlかかりますuint32_tuint32_t多くの異なるメンバー (タイプまたは)を持つメッセージがありますuint16_tstruct受け取ったor全体を適切に渡し、それを say に変換してから my or に変換することはunion可能ですか?uint32_treinterpret_castunionstruct

私が行ってきた方法は、unionorの個々のメンバーを行ごとにリストし、structこのように ntohl/s に渡すことmsg.member = ntohl(msg.member);ですが、それは面倒です!

データ構造全体が C# .NET アプリケーション (Windows) から Linux アプリケーションに転送されます。

やってみたところ、

void* ptr = &msg;
uint32_t temp = (uint32_t)ptr;

コンパイラは次のように不平を言います。

エラー: 'void*' から 'uint32_t' へのキャストで精度が失われます

4

2 に答える 2

0

Google のProtocol Buffersを使用できます。

于 2011-10-26T14:57:17.093 に答える