visual studio 2003,2005とvc++6間で、ソースのアンコンパチはあるか?

[戻る]
たいち 2006/10/13(金) 02:40:11
同じソースをvisual studio 2003,2005とvc++6間で、やり取りする上で、
気をつけない(書き直しをしない)といけない場合は、どんなときでしょうか?

Ban 2006/10/13(金) 07:58:20
全部をあげるのは多分無理。やってみるのが一番早いです。

例えば、当たり前ですが、最新版でしか提供されない機能。MFC7みたいなやつですね。
もしくは、テンプレート周りとか。主にVC6が古すぎてバグがあったり、
C++の構文が理解できなかったりするのが原因なわけですが。

VC7.1と8ならだいぶましだと思いますが、やっぱり8独自仕様の
自称安全な標準関数もどきとか使ってると7.1では通らないですし。

# そーすよりも、プロジェクト/ソリューションが通らないほうが面倒ともいう。

Q 2006/10/18(水) 10:17:29
VC++6 -> VS2005 のマイグレーションをしてて実際にあった事例ですが、
デバッグビルドで、いくつかSTLのオブジェクトサイズが異なるものがあるようです。
(std::string, あとlistやvectorなんかもダメだったと思います)

VC++6で作られたlibをVS2005で作られたexeやdllにリンクするときは、このあたりに注
意が必要です。
リリース版同士は大丈夫でしたので、デバッグ情報を含んだリリースビルドを行ってデ
バッグすることで回避できました。

ご参考になれば幸いです。

古いスレッドには追加発言できません。