構造体で質問:馬鹿ですみませんスッドレ
■ このスレッドは過去ログ倉庫に格納されています
0001えいみ
NGNGSint32 hoge:2;
} HOGE;
って感じの構造体で hoge:2 の :2 って、ど〜ゆう意味なんですか?
初歩的ですみません。。どなたか教えてください。
0002デフォルトの名無しさん
NGNG「***すれ立てるまでもない質問はここで 第8刷*** 」
http://pc.2ch.net/test/read.cgi/tech/1008908052/l50
でやってくれ。
ビット-フィールドのことだよ。
0003デフォルトの名無しさん
NGNG検索エンジンで検索してみて。
0004デフォルトの名無しさん
NGNGK&Rの置いてない座敷牢からでも書き込んでんのか?
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG構造体をコンパイルする時に、パティングってありますよね。
構造体を効率よくするために切りのよいバイト位置に整形するやつ。
パティングって、コンパイラによって違ってきますよね。
DLLで、構造体のポインタを渡す関数ってまずいってことですか?
DLLとそれを呼び出すプログラムが同じなら問題なさそうですが、違うコンパイラ
だった場合、おかしくなるんでしょうか・・・
構造体然り、クラス然り、STL然り・・・
0007ったく
NGNG0008デフォルトの名無しさん
NGNG糞すれ立てんな、ボケ
0009デフォルトの名無しさん
NGNGWindows のコンパイラは普通 align 揃えてると思うが。
もしくは packed にしてるか。
0010sage
NGNGvoid _stdcall hoge(std::string &str);
こんなふうにSTLをDLLで呼び出すのはまずいね。
コンパイラごとにSTLのソース違う可能性もあるわけだし。
0011デフォルトの名無しさん
NGNGvoid*で渡されたバッファを構造体HOGEで処理したいんですが、
別名で受け取った方がいいでしょうか? ポインタで受け取った方が
いいでしょうか?
// void* pBuffer;
HOGE& rHoge = *reinterpret_cast<HOGE*>(pBuffer);
HOGE* pHoge = reinterpret_cast<HOGE*>(pBuffer);
これって、コンパイラが生成するコードは同じですかね?
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG同じです。
ポインタで操作する方が昔からある方法で一般的だと個人的に思う。
0014(´∀`)&rlm(´∀`)
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGレス、ありがとうございましたー。
0017デフォルトの名無しさん
NGNGスッコンドレのタイプミス。
■ このスレッドは過去ログ倉庫に格納されています