タグ

ブックマーク / ray.sakura.ne.jp (5)

  • template

    演習で使った C++ のテンプレートに関する資料を中途半端ですが公開しときます。暇があってやる気が出たら追加や書き直しをするかも。 テンプレート一般 template の適当な説明 コンパイル時の計算 コンパイル時のコード生成 traits とは policy とは typename は何故必要か

    hikobae
    hikobae 2009/03/30
  • スタティックコントロールのマウス押下を検出する

  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

    hikobae
    hikobae 2006/02/20
  • http://ray.sakura.ne.jp/template/

    hikobae
    hikobae 2005/11/23
    template
  • メッセージクラッカー

    イントロダクション 題名を見て、メッセージクラッカーってなんやねんな?と思った人も多いかと思います。簡単にいうと、これは名前の通り、メッセージをクラック(分解)するものです。プログラムを書く時、何気なく windows.h と一緒に include している windowsx.h にはマクロが沢山入っていて、そのうちの1つがメッセージクラッカーと呼ばれるものなのです。 使われ方 どんなものかを見るために、メッセージクラッカーを使う場合と使わない場合のメッセージ処理を比較してみましょう。まずは使わない場合です。 switch(uMsg){ case WM_CREATE: // (なんらかの処理) break; // (caseいろいろ) } 同等の処理をメッセージクラッカーを使って書くと次のようになります。 switch(uMsg){ HANDLE_MSG(hwnd, WM_CREATE,

  • 1