【C++】マイナーGUIツールキットat TECH【C++】マイナーGUIツールキット - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト450:デフォルトの名無しさん 08/11/09 02:41:11 私のレベルは、簡単なものならAPIをガリガリでモノを作れる。 MFCは使ったことなし。 >stdcallとcdeclは知っている? これは名前は知っている。 >clのABIはthiscallでECXにthisが入るのは知っている? これは、知らない。 cl・・・コンパイラ? ABI・・・アプリケーション・バイナリー・インターフェイス? thiscall ≒ cdecl? ECX・・・アセンブリは全く知らない つまり、アセンブリを知らないとできないってこと?orz 451:デフォルトの名無しさん 08/11/09 03:14:18 >>450 アセンブリと言っても別に難しい知識は必要ない。 C言語が使えるんなら、レジスタとスタックの操作、 つまりmovとpushくらいは3分でわかるはず。 そして引数がスタックに積まれることが理解できれば良い。 そのスタックをどこで戻すかの違いがstdcallとcdecl。 インスタンスメソッドに対してはインスタンスが引数として扱われる。 それがcl(VC++のコンパイラ)ではECXで渡されるということ。 ちなみにgccだと第一引数としてスタックに積まれる。 こういう呼び出し規約のことをABIと呼ぶ。 なぜこんな知識が必要か? それはインスタンスメソッドに対してコールバックさせるため。 実際にATLではこの方法が使われている。 ハッシュで済ませるんなら必要ないんだけど、 外部に委譲させるときに悩むことになる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch