VS2005RC英語版をダウンロード、インストールしてみました。
VS.NETのプロジェクトを開いて変換、ビルドすると・・・
エラーチェックが厳しくなってます。VS.NETでは文句を言われなかったソースでしたが、VS2005は2つエラーを出しました。暗黙のintはだめ。メンバ関数のアドレスを取るには、関数名だけではだめで、「&クラス名::関数名」としろ。とのことでした。これはちょっと嬉しい。
その後、プロジェクトのプロパティを調べてみると、シングルスレッドのはずが、いつの間にかマルチスレッドに変更されています。元に戻すことができないというか、そもそもシングルスレッドという選択肢がありません。なぜだー。
まあそれはあきらめて(今のPCではパフォーマンス的にはかなり痛いけれど、一億総マルチコア時代には、まあこれが普通なのでしょう)、回帰テストしてみると、テスト通らないー。
原因は、オブジェクト解放のタイミングがVS.NETと微妙に違うことのようです。boost::formatの一時オブジェクトが早めに解放されてしまい、ヌルポインタエラーで落ちてました。
この様子だと、移行はかなり先になりそう。無理して年内に出さなくても、VS2007位でもいいですよ。それよりVistaを先にお願い。> MSの方々
VS.NETのプロジェクトを開いて変換、ビルドすると・・・
エラーチェックが厳しくなってます。VS.NETでは文句を言われなかったソースでしたが、VS2005は2つエラーを出しました。暗黙のintはだめ。メンバ関数のアドレスを取るには、関数名だけではだめで、「&クラス名::関数名」としろ。とのことでした。これはちょっと嬉しい。
その後、プロジェクトのプロパティを調べてみると、シングルスレッドのはずが、いつの間にかマルチスレッドに変更されています。元に戻すことができないというか、そもそもシングルスレッドという選択肢がありません。なぜだー。
まあそれはあきらめて(今のPCではパフォーマンス的にはかなり痛いけれど、一億総マルチコア時代には、まあこれが普通なのでしょう)、回帰テストしてみると、テスト通らないー。
原因は、オブジェクト解放のタイミングがVS.NETと微妙に違うことのようです。boost::formatの一時オブジェクトが早めに解放されてしまい、ヌルポインタエラーで落ちてました。
この様子だと、移行はかなり先になりそう。無理して年内に出さなくても、VS2007位でもいいですよ。それよりVistaを先にお願い。> MSの方々