タグ

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

  • MSVCのランタイムとスレッドとリソースリークの関係

    の虫: いまだに変な宗教が流行っているを書いたところ、どうもこのへんの情報は、あまり知られていないようであるので、できるだけ分かりやすく解説することにした。 Cの標準ライブラリは、恐ろしく古いライブラリである。その設計は、マルチプロセッサ(コア)上で動作するマルチスレッドが当然の現代では、あまりよろしくない。 たとえば、strtokという関数がある。この関数は、引数として渡された文字列を、内部のバッファにコピーする。次のstrtokの引数には、NULLを渡すことで、そのコピーされたバッファから、次のトークンの場所へのポインターを返すのである。 void f( char const * ptr ) { char const * p1 = strtok( ptr, " " ) ; char const * p2 = strtok( NULL, " " ) ; } しかしもし、strtokが複

  • 予定外 Visual C++ Express Editionでプロファイラを使ってみる

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 ソフト開発の技術書には、パフォーマンス最適化について書かれているものも多いですが、そこで必ずと言っていいくらいに述べられているのが、「コードを書く時点から最適化をしない」「手を加える前にまずパフォーマンスを測定せよ」ということです。 「プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める」という、いわゆるパレートの法則に則り、まず測定によってプログラムの実行時間の大半を占めるわずかな部分のコードを割り出して、そこを集中的に改善しましょう、というのが定説です。 コードの測定には通常、プロファイラと呼ばれるツールを使います。 プロファイラは、どの関数がどのくらいの時間実行されていたか、何回呼び出されたかなどの方法を収集して解析し、ボトルネックとなっている部分を探すこ

  • Visual Studio Express 2012 Windows Desktop が公開 - C++でゲームプログラミング

    製品版は先月リリースされたんですが、無償版(Express) も公開されました。 これまでの xpress 版では、C++ や C# など言語別に配布されていたんですが、2012 からは Desktop 版という形で各言語を統合した形で配布されるようになりました。 これで無償で Visual Studio 2012 が使用することが出来ます(ただし、XP、Vista は除く。 Visual Studio Express 2012 for Windows Desktop - Visual C++ Team Blog Microsoft Visual Studio Express 2012 for Windows Desktop ご存知の通り、WindowsXP、Vista には非対応なので注意して下さい。 Visual Studio 2012 で追加された C++11 の機能などはこちらを参

    Visual Studio Express 2012 Windows Desktop が公開 - C++でゲームプログラミング
  • 1