タグ

tipsとc++に関するsukepyonのブックマーク (3)

  • C++ で気軽に時間測定がしたい - iwiwiの日記

    プログラムの一部分の所要時間をちょっと調べたいと思っても,前で時間を調べて,後ろで時間を調べて,引き算したものを出力して,と色々書かねばならず,意外と面倒です. Ruby の benchmark はいいなあと思っていたら,id:tanakh さんの PFI セミナーを思い出したので,それっぽいものを C++ で実現してみました. (2/21 19:30 頃に「もう少し便利に」のバージョンの問題点と解決について追記しました) 例 int main() { benchmark { sleep(1); } benchmark { sleep(2); } } こんな感じで書くと 1.000013 sec 2.000009 sec こんな感じで標準エラー出力に表示. ソースコード これを上に書いておけば OK です. #include <sys/time.h> struct __bench__ {

    C++ で気軽に時間測定がしたい - iwiwiの日記
  • C++ Portability Guide - MDC Doc Center

    この後に、多くのマシンやコンパイラを横断して移植可能な C++ のコードを作る上で役に立つ規則・ガイドライン・TIPS の集まりが続きます。 この情報は、25 にものぼる異なるマシンと1ダース分以上の C++ コンパイラを横断して多くのコードを移植した結果として生まれたものです。これらのうちいくつかはあなたを苛立たせ、もうお手上げだと感じて「えい、<愛用の C++ 機能を追加>できないのはヘボコンパイラだ」と叫びたくなるかもしれません。しかし、これが移植性の高いコードの現実です。あなたがルールを守るなら、あなたのコードはすべての Mozilla プラットフォーム上でシームレスに動作し、新しいマシンへの移植も容易となるでしょう。 私たちは情報を最新に保つよう努力しています(例えば、ときどきコンパイラの改定で制約が取り除かれるかもしれません)。これらの tips に関する最新情報や、追加の情報

    sukepyon
    sukepyon 2009/07/28
    C++移植性ガイド
  • Let’s use doxygen!

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

  • 1