18

Microsoft は、2012 年 9 月に Visual Studio 2012 を最初にリリースしたとき、より定期的に Visual Studio の更新プログラムを提供する計画を発表しました。その後、 2012年 11 月にVisual Studio 2012 Update 1 (Visual Studio 2012.1)を、2013 年 4 月にVisual Studio 2012 Update 2 (Visual Studio 2012.2)をリリースしました。

私の質問は次のとおりです。更新により、C++ ABI に変更が加えられましたか (最初の VS2012 バージョンに関して)? .lib異なる VS2012 バージョンのをリンクしても安全ですか?

しばらくインターネットを検索しましたが、Microsoft からの明確な声明は見つかりませんでした。一部の情報源は、C++ コード生成のいくつかのバグが修正されたと述べていますが、それは ABI の変更を意味するものではないと思いますか?

4

2 に答える 2

7

最後に、Stephan T. Lavavej のブログ投稿C++11/14 STL Features, Fixes, And Breaking Changes In VS 2013で私の質問に対する答えを見つけました。

VS Update メカニズムは、主に優先度の高いバグ修正を出荷するためのものであり、新しい機能、特に重大な変更を伴う大規模な書き換え (同等に大規模なコンパイラの変更に関連付けられている) を出荷するためのものではありません。

Visual C++ 2013 のようなメジャー バージョンでは、多くのものを自由に変更したり壊したりできます。これをアップデートで出荷する方法はまったくありません。

Q5: バグ修正はどうですか? アップデートでそれらを取得できますか?

A5: これは興味深い質問です。なぜなら、答えは私の選択に依存するからです (前の質問では、そうしたいと思っても、アップデートでそのようなリライトを出荷することは許可されませんでした)。

各チームは、アップデートに含めることを検討するために、どのバグ修正を「船室」に持ち込むかを選択できます。shiproom では避けられないことがありますが (たとえば、メジャー バージョン以外ではバイナリの重大な変更は禁止されています)、それ以外の場合は決定の自由が与えられています。私は個人的には遅延よりも帯域幅を優先します。つまり、複数の更新でより頻繁にバグ修正の合計数を (同じ期間に) 出荷するよりも、すべてのメジャー バージョンでより多くのバグ修正を出荷することを好みます。

于 2013-07-11T08:41:32.113 に答える