【C++】マイナーGUIツールキット
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドの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ではこの方法が使われている。 ハッシュで済ませるんなら必要ないんだけど、 外部に委譲させるときに悩むことになる。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4898日前に更新/102 KB
担当:undef