タグ

ブックマーク / futurismo.biz (4)

  • CppCheckでC言語/C++のメモリリーク(解放漏れ)を静的解析で検出する。 | Futurismo

    メモリ解放漏れ・メモリ二重解放は組込みエンジニアにとって、背筋が凍る単語だ。 それは、即、残業しなさいという意味に転じる。 そこから、泥沼のデバッグにハマることがよくある。 そんな課題をスマートに解決するために、メモリ解放漏れやメモリ二重解放を検出するツール調べてみたので、メモメモ。 オープンソース CppCheckのインストールをしよう# Cppcheckを使うことでメモリ解放漏れを静的解析で見つけることが可能だ。CppCheckはその他にも、アロケーション(確保と解放)の不一致(メモリ二重解放),バッファオーバーランの検出ができる。OSSなので、誰でも無料で利用可能。 CppCheckのダウンロードはココから Cppcheckの使い方の日語訳は、以下のサイトで公開されている。 (ものすごく感謝!)今回はこれを参考に自分でも試してみる。 cppcheck 日語マニュアル - 一人ぼっ

    CppCheckでC言語/C++のメモリリーク(解放漏れ)を静的解析で検出する。 | Futurismo
  • Factory Method と Abstract Factory の違いを順に理解する

    はじめに# デザインパターンにでてくる Factory Method と Abstract Factory. なんだか, いつになっても違いが分からない… というわけで一旦整理してみることにした. 能書き# まずは, 一般的な説明をネットからひろう. Factory の原則# 生成と実装を分離することで, プログラムはシンプルになる. 生成パラメータの指定方法をシンプルに 生成後の管理をシンプルに 生成するオブジェクトの指定方法をシンプルに 特定のケースで特定のオブジェクトを生成するのは手続き思考的. 2 つをわけて考えることで設計に集中. 動作方法 生成,管理方法 Factory Method# オブジェクトの生成を行う時のインタフェースを規定して, インスタンス化するクラスを決定するのはサブクラスに任せる. factoryMethod の中でオブジェクトの生成をすることで, 生成を生成

    Factory Method と Abstract Factory の違いを順に理解する
  • setup.exeはもういらん!Cygwinでコマンドラインからインストール/アップデートする[apt-cyg]を試す

    setup.exeはもういらん!Cygwinでコマンドラインからインストール/アップデートする[apt-cyg]を試す Cygwinをツールをアップデートするときに、いちいちsetup.exeを起動するのが面倒だ 。 LinuxRubyとかみたいに、コマンドラインからインストール出来ないかなと思って調べたらありました。それが apt-cyg です。以下、詳細をメモメモφ(`д´)メモメモ apt-cygとは# apt-cygとは、apt-getみたいにコマンドラインからツールのインストールやアップデートをするためのコマンド。 GoogleCodeで公開されている。 apt-cyg - A command-line software installer for Cygwin - Google Project Hosting apt-cygのインストール方法# 事前準備として、以下のコマンド

    setup.exeはもういらん!Cygwinでコマンドラインからインストール/アップデートする[apt-cyg]を試す
  • レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする

    レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする 以前、こんな記事を書きました。 恐るべきレガシーコードの救世主になるか?!ドロドロ依存なモジュールたちを『CMock』ですっ裸にする | Futurismo CMockは素晴らしいツールで、正直これがないとこの3ヶ月で心がへし折られていたと思う。しかし今日は、CMockに対向できるような素晴らしいツールを発見したので紹介。その名も、 FFF ファイナルファンタジーではないが、魔法のようなツールだ。 FFFってなに# Fake Function Framework。ダミー関数を自動生成してくれる、『C言語』のためのツール。フェイク関数のフレームワークといいつつも、実際はスタブ関数やスパイ関数などなど、いろいろ生成するツールだ。 meekrosoft/fff git

    レガシーコードをC言語のTDD用フレームワーク『Fake Function Framework (fff)』ですっぽんぽんにする
  • 1