【初心者歓迎】C/C++室 Ver.40【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0288デフォルトの名無しさん
2007/07/23(月) 23:48:11まず、構造体のアライメントを調べたか?
送信側のマシン・・・アライメント4byte
struct X {
char a; // 1byte + 3byte(4byteになるよう調整)
long b; // 4byte
} x;
sizeof(x) = 8
受信側のマシン・・・アライメント2byte
struct X {
char a; // 1byte + 1byte
long b; // 4byte
} x;
sizeof(x) = 6
これでは受信側は混乱する。
(char *)で宣言するのは全く問題ない。malloc等でメモリを確保していれば。
■ このスレッドは過去ログ倉庫に格納されています