exeやdllにPDBの絶対パスではなくファイル名だけ含める方法
以下のコンパイルオプションを指定する。
/pdbpath:none
VC8では以下のコードがあっさりコンパイルされるようです。
std::auto_ptr<int> p(new char);
VisualC++2003ではコンパイルオプションに「拡張命令セットの有効化」というのがあります。
これをSSEにすると、なんとCで書いた普通のfloat計算のコードがSSEのスカラー演算命令を使ったコードとしてコンパイルされて出力されます!
今まではsqrtなどの組み込み関数がSSEで最適化されたされたやつに切り替わるくらいかなと思っていたのですが予想以上の効果があるようです。
同様にオプション設定でSSE2を選択するとdouble計算のコードも最適化されるものと思われます。(こっちは未確認)
VisualCは何年か使ってますが、全然しりませんでした。
あまりの衝撃にこっちにもメモw
クイックウォッチでエラーコードとその内容を表示する
内容がないのもなんなので、追記。
例外が発生した箇所でBreakしたい場合は、「デバッグ」メニューの「例外」で設定することができます。(Visual C++ .NET 2003)
指定した例外以外にも色々な特殊な状況でBreakしたりしなかったりが設定できます。
VC7(VisualStudio .NET 2003)で開発しているプログラムを最適化しようと思い、プロファイラを使おうと思ったら、メニューのどこを探してもプロファイルの文字がない!
そこでヘルプを探してみたら、
リンカ ユーティリティであるソース プロファイラは削除されました。
なんてこと!仕方ないのでVC6でコンパイルしてやってみようとも思いましたが、コンパイルエラー多発でやる気喪失w
なんかフリーのプロファイラないかなーとおもったらありました。
DevPartner Profiler Community Edition
DevPartner Studioという製品の評価版?のようなものでしょうか。簡単に使ってみましたが特に制限などはなさそうです。
使い方としては、「ツール」->「DevPartner」メニューの中の「Profiler」という項目と「Native C/C++ Instrumentation」という項目にチェックをいれたあと、プロファイリングしたいプロジェクトをリビルド。すると、プロファイラがコンパイラに介入して必要なコードを勝手に埋め込んでくれます。
その後、「デバッグ」->「開始」で実行し、プログラムを動かせばプロファイリングしてくれます。
プロファイリング結果はなかなか見やすいもので、よくできていると思いました。
© Blogger template 'Isolation' by Ourblogtemplates.com 2008
Back to TOP