2005-04-26から1日間の記事一覧

ソースコード生成・変換

expand(1) unexpand(1) タブ←→スペース変換 cdecl 宣言←→英語 変換 http://http.us.debian.org/debian/pool/main/c/cdecl/cdecl_2.5.orig.tar.gz 3、4箇所修正したが、Cygwin上でコンパイル成功。 使い方 declare x as pointer to float explain float *x ce…

依存解決

make make makes many problems http://pc10.2ch.net/test/read.cgi/tech/1029599472/ 最小の Makefile なんと、Makefile が存在せず hoge.c があるとき make hogeと打つと cc -O -pipe hoge.c -o hogeを実行してくれる。(空の Makefile がある場合も同じ)…

ソースコード整形

Java 用のはたくさんあり。 GNU indent C言語用。 引数で指定したファイルを書き換え、元のファイルを .BAK という拡張子でバックアップをとる。 FreeBSD の indent は indent *.c とすると最後のファイルに上書き出力してしまうとんでもない代物。 GNU inde…

ソースコード診断

splint リント c_count http://www.chris-lott.org/resources/cmetrics/c_count-7.5.tar.gz Copy/Paste Detector - ソースのコピペ検出 http://pmd.sourceforge.net/cpd.html rsm RSM http://msquaredtechnologies.com/m2rsm/rsm_demo.php C, C++, Java, C# …

動的コールグラフ

ftrace DSAS開発者の部屋:オープンソースを楽しむエンジニアの二日目 - ftraceコマンドを書く http://dsas.blog.klab.org/archives/51025093.html instrumental Index of /~krahmer/instrumental http://www.suse.de/~krahmer/instrumental/ $ cc -g -finstr…

ブラウジング・クロスリファレンス

ctags tags の作り方の指針については以下のドキュメントが参考になる。 Exuberant Ctags FAQ 日本語訳 15. 多重ディレクトリ階層のtagファイルを生成するには http://hp.vector.co.jp/authors/VA025040/ctags/faq.html#15 GNU GLOBAL ctagsbr ctags GUI フ…

ドキュメンテーション

いきちがいのぷろぐらむあ http://homepage2.nifty.com/tenk/lib/ いろいろある rb2html.rb (C/C++版はc2html.rb) Key tools - chm から html を復元 http://www.keyworks.net/

メモリ関連チェックツール

ccmallocが高林氏のお気に入りだそう。 http://namazu.org/~satoru/unimag/6/ purify メモリ関連バグを実行時にチェックする。 UNIX用。有料。 Valgrind - Linux用 スレッド・メモリに関するバグを検出するデバッガ。 http://valgrind.org/ kcachegrind とい…

デバッガ

DDD ヴィジュアルなデバッガ。ぜひマスターしたい http://www.ton.scphys.kyoto-u.ac.jp/~shino/ippo/#App_visualization strace システムコールとシグナルを追跡する。 BSD なら ktrace/kdump。 Solaris なら truss。 ltrace 共有ライブラリ内の関数の呼び…

プログラミング便利ツール

参考リンク utils for c development http://www.ibiblio.org/pub/linux/devel/lang/c/!INDEX.html Free Software Directory - Programs for small specific development tasks http://directory.fsf.org/devel/specific/ Programmers Heaven http://www.pro…