誰かが浮動小数点変数に関するバイト順序付けを手伝ってくれませんか?実際、コードはSolarisでは正しく機能していますが、WindowsXPでは機能していません。これが私のコードの一部の例です:...。
int x_snd=1;
float y_snd=1.13;
struct {
int xx_snd;
float yy_snd;
} data_snd;
int x_rec;
float y_rec;
struct {
int xx_rec;
float yy_rec;
} data_rec;
//marshalling
data_snd.xx_snd=htons(x_snd);
data_snd.yy_snd=htonl(*(int*) &y_snd);
//write data to socket
send(sock1, &data_snd, ...
//clean ...
//read data from socket
if recv(sock, &data_rec ...
//unmarshalling
x_rec=ntohs(data_rec.xx_rec);
y_rec= *(float*) &(ntohl(data_rec.yy_rec));
..。
このコードは、Unixではgccを使用し、wndowsではMSVC++6を使用してコンパイルされました。皆様のご協力をよろしくお願いいたします。エンディアンに関する有用な情報を提供するリンクやドキュメントをご案内いただければ幸いです...
よろしくお願いします、mk