タグ

ブックマーク / www.02.246.ne.jp/~torutk (5)

  • ロギングライブラリの選択

    [ C++で開発 ] ロギングライブラリの選択 プログラムの開発・保守に欠かせない機能が「ロギング」です。開発中のデバッグ効率や、運用中の障害解析に、ロギングの機能が効いてきます。しかしながら、これを使えば、という定番がないのがC++の現状です。 ロギングライブラリの調査 ロギングライブラリには、ロギング機能のみを提供するロギング単体ライブラリと、フレームワークの一部としてロギング機能を提供するものがあります。 log4cpp log4cxx log4cplus Pantheios Google glog Boost.Log Pocoフレームワークのロギング ACEフレームワークのロギング 比較メモ ログレベル、カテゴリ(分類)によるログ出力有無・出力先の設定 ログファイルのローテーション 出力形式の設定(タイムスタンプの分解能・時刻帯の指定、ロケール、他) ログ出力コーディングの簡潔さ

    urza358
    urza358 2014/09/12
  • C++で開発

    [ Home on 246net ] C++で開発 好むと好まざるとに関わらず、C++言語を使った開発をすることになったときに調べたことの蓄積。 言語仕様 ブートストラップ main関数 main関数について パッケージ管理 名前空間 名前空間の使用 ヘッダファイル ヘッダファイルとは インクルードガード ヘッダファイルの依存性をなくすには 文法要素 プリプロセッサ 条件コンパイル 可変引数を取る関数(stdargs他) 定義済みマクロ 型 組み込み型 標準定義型(標準typedef等) ビットサイズ固定整数型、 typedefの注意 クラス コンストラクタ メンバー変数 演算子関数 ビットフィールド 継承 例外 標準例外 例外処理のプログラミング テンプレート メンバ関数の特殊化 デバッグ アサーション ANSI Cのassert VC++固有のassert コーディング標準 公知のコー

  • アサーション

    [ C++で開発 ] アサーション プログラムの検証を行う際のツールの1つで、プログラム時の仮定が満たされないことを検出するための機構です。例えば、ある関数が引数に繰り返し回数を取るときに、設計上は1回以上100回以下を想定して実装していたとします。引数の型がsigned intであった場合、呼び出し側の誤りによって負の値や100を越えた値が渡されることがあります。引数の範囲をアサーションでチェックしていれば、誤りは即座に判明します。しかし、チェックがなければ誤りはずっと後の処理まで次々と伝播し、気がついたときにはとんでもない被害をもたらすかもしれません註1。 ANSI Cのassert アサーションは、ANSI C規格で定められています。簡単なサンプルを示します。 #include <stdio.h> #include <assert.h> void test_assert(int ti

    urza358
    urza358 2013/08/19
  • コンストラクタ

    デフォルトコンストラクタ C++では、クラスを定義したときにコンストラクタを定義しなければ、コンパイラが自動的に引数なしのコンストラクタおよびコピーコンストラクタを補完します。 class Person { std::string name; }; と記述したクラスは、デフォルトコンストラクタ、デフォルトデストラクタ、デフォルトコピーコンストラクタ、デフォルト代入演算子関数がコンパイラによって補完され、実質以下のコードと同等になります。 class Person { std::string name; public: Person() {} ~Person() {} Person(const Person& aPerson) { ... } Person& operator=(const Person& rhs) { ... } }; ここで、メンバー変数がstd::string& nam

    urza358
    urza358 2011/03/27
  • Eclipse CDTメモ

    組み込み環境向けなど従来GNU Compilerに独自ツールを追加していた開発の世界に徐々にEclipse CDTが浸透してきています。GNU C/C++コンパイラを使う開発環境ではEclipse CDTが今注目されています。 CDTは、Eclipseのプラグインの1つで、C/C++開発用の主要機能を提供するものです。 目次 Eclipse CDTバージョンと機能の整理バージョン新機能Eclipse CDT 5.0の新機能Eclipse CDT 4.0の機能インストールCentOS 5 x86の場合Eclipse 3.2Eclipse 3.3Eclipse 3.4プロジェクト機能ディレクトリ構成ワークスペース(workspace)プロジェクトCDTが生成するMakefile伝統的なC/C++ディレクトリ構成を取るには・・・Eclipse CDTが想定するディレクトリ構成に合わせるか、Ecl

  • 1