タグ

CとC++に関するdharryのブックマーク (7)

  • 2007-10-08

    でかいソフトウェアの、大量のソースコードを短時間で読む必要が生じたので、その補助ツールとしてptrace(2)ベースのLinux用関数トレーサを自作しました。こういうツール上でまずソフトウェアを実行してみて、どのファイルのどの関数がどういう順で呼ばれるか把握おけば、いきなりソースコードの山と格闘を始めるより楽かなーと思いまして。せっかく作ったので公開します。 http://binary.nahi.to/hogetrace/ straceはシステムコールだけ、ltraceは共有ライブラリ(DSO)の関数呼び出しだけ*1をトレースしますが、このツールは、実行バイナリ中の自作関数の呼び出しもトレースします。例えば再帰で1から10まで足し算するソースコードを用意して % cat recursion.c #include <stdio.h> int sum(int n) { return n ==

    2007-10-08
  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

  • tricklib.com

    This domain may be for sale!

    dharry
    dharry 2009/01/19
    バグベアード
  • Let’s use doxygen!

    はじめに プログラマには、ドキュメント、とくにプログラムの内部仕様書を書くのが苦手、 という人が多い。 その理由は明らかであって、そもそも、ソースコードに (バグも含めて)*1 すべての仕様が子細もらさず書かれているのに、なぜ、さらにそれと独立した仕様書が必要なのかと、 (半ば気で) 思ってしまうからである。 ソースコードと独立にメンテナンスをしなければならないような仕様書は、 いずれソースコードと整合性が取れなくなって、無意味ならまだしも、 かえって害をなす存在となり果てることもある、ということを、 彼らは経験的に理解しているのである。 (*1) Ruby の作者である、まつもとゆきひろ氏は、 その著者『オブジェクト指向スクリプト言語 Ruby』の中の「付録C Ruby 用語集」で、 次のように書いている: ドキュメント まつもとの苦手なもの。彼は普段から「ソースがドキュメントだ。

    dharry
    dharry 2008/09/20
    doxygen
  • C言語とC++言語 : C/C++によるプログラミング関連情報 (NI-Lab.'s MemoWiki - CLanguageCPPLanguage)

    C言語とC++言語 : C/C++によるプログラミング関連情報 っていうか、リンク集とか参考書籍とか。 -C/C++ Reference --http://www.cppreference.com/ -C++ reference - cppreference.com --http://ja.cppreference.com/w/cpp -リファレンス - cpprefjp C++語リファレンス --https://cpprefjp.github.io/reference.html -C++ 言語および標準ライブラリ --https://msdn.microsoft.com/ja-JP/library/hh875057.aspx -C++ 言語リファレンス --https://msdn.microsoft.com/ja-jp/library/3bstk3k5.aspx -C++ 標準ライ

  • やました工房 CodeTips

    ご注意 ここに記載されている内容は、コードを書く上で必要に迫られ、個人的に調べた内容を、 なにかの参考になればと掲載しているものです。 一般のコンピュータ技術誌や専門サイトのように十分なリサーチを行って情報提供を目的とするものではありません。 したがって、ここに記載されている内容を保証するものでも推奨するものでもありません。 これらの記事の利用・実行等の結果に対する責任を負うものではありません。 一部内容に正式にドキュメント化されていない項目があります。 これらは特に、内容が正確であることを保証するものではありません。 また将来変更、廃止される可能性は十分にあります。そのことを了解の上ご覧ください。 "Undocumnted"となっていても、世界のどこかにドキュメントが存在する可能性があります。 別の手段で同等の機能が提供されているかもしれません。 また、将

  • C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT

    第2回 C++アプリケーションの効率的なテスト手法(CppUnit編):連載 C++開発者のための単体テスト入門(1/4 ページ) 連載目次 前回は単体テストの重要性を示し、従来のC/C++でのテスト手法であるprintf関数やassertマクロを使ったテストを紹介しました。この2つのテスト手法は開発環境(コンパイラとライブラリ)さえあれば利用でき、その使い方も簡単です。しかしながら、いずれも系統立てて、効率よくテストを行うには力不足の感が否めません。 今回は、Visual C++ 2005 Express Editionを含むVisual Studio 2005(以後、VS 2005)で利用できる代表的な単体テスト・フレームワーク(Unit Test Framework)の1つである「CppUnit」を紹介します。 ■単体テスト・フレームワークとは? 前回、「バグは早期発見が望ましい。早

    C++アプリケーションの効率的なテスト手法(CppUnit編) ― @IT
  • 1