通知
すべてクリア
Topic starter
2006年10月13日 2:40 AM
同じソースをvisual studio 2003,2005とvc++6間で、やり取りする上で、
気をつけない(書き直しをしない)といけない場合は、どんなときでしょうか?
2006年10月13日 7:58 AM
全部をあげるのは多分無理。やってみるのが一番早いです。
例えば、当たり前ですが、最新版でしか提供されない機能。MFC7みたいなやつですね。
もしくは、テンプレート周りとか。主にVC6が古すぎてバグがあったり、
C++の構文が理解できなかったりするのが原因なわけですが。
VC7.1と8ならだいぶましだと思いますが、やっぱり8独自仕様の
自称安全な標準関数もどきとか使ってると7.1では通らないですし。
# そーすよりも、プロジェクト/ソリューションが通らないほうが面倒ともいう。
2006年10月18日 10:17 AM
VC++6 -> VS2005 のマイグレーションをしてて実際にあった事例ですが、
デバッグビルドで、いくつかSTLのオブジェクトサイズが異なるものがあるようです。
(std::string, あとlistやvectorなんかもダメだったと思います)
VC++6で作られたlibをVS2005で作られたexeやdllにリンクするときは、このあたりに注
意が必要です。
リリース版同士は大丈夫でしたので、デバッグ情報を含んだリリースビルドを行ってデ
バッグすることで回避できました。
ご参考になれば幸いです。