タグ

2011年7月11日のブックマーク (3件)

  • VC++構造化例外メモ(Hishidama's VC++2005 SEH Memo)

    これらはマクロなので、実際は整数が割り当てられている。 しかし__except()は正か0か負かという判断しかしてないらしいので、実はどんな値でもよい…? とは言え、上記のようなマクロが定義されているんだから、それを指定するべきだろう。 という訳で、__exceptの括弧内に式(MSDNではフィルタ式と称している)を書いて最終的に整数を返すことにより、条件に応じて処理を変更することが出来る。 例えばカンマ演算子を使ったり、独自の別関数(MSDNではフィルタ関数と称している)を呼び出したりすればよい。 _EXCEPTION_POINTERS* info; __try { 処理; } __except (info = GetExceptionInformation(), EXCEPTION_EXECUTE_HANDLER) { //構造化例外の情報をinfoに入れている。 //カンマ演算子では

    yzx
    yzx 2011/07/11
  • Androidアプリのメモリリーク対策手法 | Bescottee

    googleAndroid開発者向け ブログに「Memory Analysis for Android Applications」という記事があったため、自分のために訳しました。参考になれば幸いです。エントリを見るうえで、eclipse の基的な使い方を理解している必要があります。 Androidアプリのメモリ解析手法 Dalvikランタイムは、ガベージコレクトしてくれるかもしれませんが、それはメモリ管理を行わなくてもよいというわけではありません。モバイル端末上でのメモリ利用状況は特に注意を払わなければなりません。投稿では、開発するアプリのメモリ利用状況の把握を支援する Android SDK で提供しているメモリプロファイリングツール群のいくつかを紹介させて頂きます。 メモリ利用時の問題はいくつか明らかになっています。例えば、もしあなたのアプリがユーザの画面タッチ操作のたびにメモ

  • CreateProcessによるプログラム起動と制御

    CreateProcess()を使うと任意のプログラムをコマンドラインで、あるいは引数付で実行することができます。さらに、実行開始時の状態を指定したり実行したプロセスやプロセスのメインスレッドのハンドルも得られるので、プログラムの終了を待つなど柔軟な制御ができそうですね。 適当なエディタ機能とCreateProcess()を組み合わせれば、「編集したソースをコマンドラインでコンパイラに渡してコンパイル、コンパイル終了を待って実行」という簡単な「統合開発環境」を開発することもできるでしょう。 今回は、そうした他のプログラムとの連携を意識しCreateProcess()で任意のコマンドラインを指定してプログラムを実行し、そのプログラムの終了を検知してみることにします。 CreateProcessによる制御 まず、CreateProcess()でプログラムを起動してみましょう。CreatePro