タグ

C++とツールに関するDrunkarのブックマーク (4)

  • gcc のためのプロファイラ

    C/C++で作成したプログラムを高速化するときは、 プロファイラを用いてプログラムのどの部分に実行時間が かかっているかを探ります。 gccに対応しているプロファイラにgprofがあります。 コンパイル時に -pg オプションを付ける。 % g++ -pg -Wall Main.cpp Bmp.cpp ColorConv.cpp 実行する。 % ./a.out プロファイラにかける。 % gprof a.out 時間がかかっている関数を修正する。 おまけ: 最適化の利き具合 とあるプログラムで、 最適化なし: 48.62 sec -O1: 15.23 sec -O2: 13.68 sec -O3: 13.06 sec -O4: 13.06 sec -O5: 12.90 sec プロファイラで見ると、 なしのとき 13.21% Labeling::SearchNeighboringSegme

  • gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント

    しかし、ブレークポイントという機能はデバッガの手助けなしでは実現できません。 ブレークポイントとはプログラムの強制一時停止を行うポイントで、実行中のプログラムがブレークポイントに遭遇するとプログラムは一時停止され、デバッガによるプログラムへの介入を行えるようになります。 ブレークポイントは次のような場所に設定できます。 指定した行番号のプログラムを実行しようとする瞬間 関数を呼び出した瞬間 その他、C++などでは「例外が発生した瞬間」などにもブレークポイントを設定することができます。 行番号ブレーク ブレークポイントとしてよく使用されるのは、「プログラムの特定の位置」です。 例として、bubblesort.cプログラムのsort関数内で、隣り合う二つの要素を比較している箇所にブレークポイントを設定してみます。 25|/* bubble sort */ 26|void sort(int *a

  • C/C++開発環境 - Qiita

    Windows/Linuxで両方で動作する成果物を想定。 有償のツールは理解が得られる方が稀なので除外。 仕様書 外部仕様 Word/Excelが手軽だけど差分が追いにくい。 Markdown+PandocかSphinxでPDF提出がいいかな? Pandoc - About pandoc Sphinx-Users.jp :: ドキュメンテーションツール スフィンクス Sphinx-users.jp 内部仕様 きちんと書いてあればDoxygenで十分だと思う。 Cしか対応していないみたいだけどdocuriumの方がgitとの親和性が高くて(tag付された結果をまとめて解析してくれるみたい)出力結果も今風にできてる。 Doxygen github/docurium インセプションデッキ 作っておくと上司/部下/協力メンバで方針を合わせやすい。 ネスケラボ » インセプションデッキ ソースコード

    C/C++開発環境 - Qiita
  • Ideone.com

    /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { // your code goes here } }

    Drunkar
    Drunkar 2012/10/18
    様々な言語をウェブ上で試せる
  • 1