トップページ⇒tech
17コメント4KB

構造体で質問:馬鹿ですみませんスッドレ

■ このスレッドは過去ログ倉庫に格納されています
0001えいみNGNG
typdef struct _HOGE {
Sint32 hoge:2;
} HOGE;

って感じの構造体で hoge:2 の :2 って、ど〜ゆう意味なんですか?
初歩的ですみません。。どなたか教えてください。
0002デフォルトの名無しさんNGNG
糞スレたてんで、
「***すれ立てるまでもない質問はここで 第8刷*** 」
http://pc.2ch.net/test/read.cgi/tech/1008908052/l50
でやってくれ。

ビット-フィールドのことだよ。
0003デフォルトの名無しさんNGNG
ビットフィールドというものです。
検索エンジンで検索してみて。
0004デフォルトの名無しさんNGNG
つーかなんでこんなこと聞く前に調べられないんだ
K&Rの置いてない座敷牢からでも書き込んでんのか?
0005デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi?bbs=tech&key=1009190994&st=133&to=133&nofirst=true
0006デフォルトの名無しさんNGNG
便乗質問で申し訳ない(構造体の質問スレってことで・・・)

構造体をコンパイルする時に、パティングってありますよね。
構造体を効率よくするために切りのよいバイト位置に整形するやつ。

パティングって、コンパイラによって違ってきますよね。
DLLで、構造体のポインタを渡す関数ってまずいってことですか?
DLLとそれを呼び出すプログラムが同じなら問題なさそうですが、違うコンパイラ
だった場合、おかしくなるんでしょうか・・・

構造体然り、クラス然り、STL然り・・・
0007ったくNGNG
糞スッドレ立てやがって
0008デフォルトの名無しさんNGNG
謝ってすまねえから警察があるんだ
糞すれ立てんな、ボケ
0009デフォルトの名無しさんNGNG
>>6
Windows のコンパイラは普通 align 揃えてると思うが。
もしくは packed にしてるか。
0010sageNGNG
>>6

void _stdcall hoge(std::string &str);

こんなふうにSTLをDLLで呼び出すのはまずいね。
コンパイラごとにSTLのソース違う可能性もあるわけだし。
0011デフォルトの名無しさんNGNG
 同じく便乗質問。
 void*で渡されたバッファを構造体HOGEで処理したいんですが、
別名で受け取った方がいいでしょうか? ポインタで受け取った方が
いいでしょうか?

// void* pBuffer;
HOGE& rHoge = *reinterpret_cast<HOGE*>(pBuffer);
HOGE* pHoge = reinterpret_cast<HOGE*>(pBuffer);

 これって、コンパイラが生成するコードは同じですかね?
0012デフォルトの名無しさんNGNG
そもそも未だに STL はバグ持ちコンパイラ多し・・・というよりも見かけ上でもバグ無しコンパイラってある?
0013デフォルトの名無しさんNGNG
>>11

同じです。
ポインタで操作する方が昔からある方法で一般的だと個人的に思う。
0014(´∀`)&rlm(´∀`)NGNG
スッドレってなに?アヒャー
0015デフォルトの名無しさんNGNG
今頃つっこむなよ
0016デフォルトの名無しさんNGNG
>>13
 レス、ありがとうございましたー。
0017デフォルトの名無しさんNGNG
>14
スッコンドレのタイプミス。
■ このスレッドは過去ログ倉庫に格納されています