私の会社では、最近VC9からVC10に切り替えました。ミキシングランタイムは実行可能なソリューションですか?
私たちはプロジェクトを移行しましたが、しばらくの間、本番マシンでVC9でコンパイルされたいくつかの基本的な共通DLLを保持しなければならないと担当者から教えられました。
これらのDLLはカスタム構造を使用しており、その中にはstd::vector
,std::map
などが含まれています。さて、私は標準的な容器のサイズが変わったことに注目しました。あるものは大きくなり、他のものは小さくなりました。その結果、カスタム構造のサイズも変更されました。
サイズ変更による問題を解決するために、私の同僚は人工的にサイズを増やして将来のメンバのサイズ変更を補うことができるようにしました。関数呼び出しでのスタックの破損を防止します。
個人的には、この「解決策」は恐ろしいことですが、大きさは重要ですが、構造のレイアウトも重要です。私にとっては、組織の問題を解決するために、すべての構造のメモリ占有量を増やすことは本当に間違っています。
短くするには、関数プロトタイプで非C型を使用しているときに、2つの異なるランタイム(説明されたトリックまたは他のトリックを使用)を同時に使用することも可能ですか?同様の状況に関して、良い/悪い経験をお持ちですか?
'1'はオプションではありませんが、' 2'は実際にうまくいく可能性があります。リンクされた記事をありがとうございました。 – ereOn
@ereOn:どうぞよろしくお願いいたします。 –