0

私たちのVB6プログラムは現在、C++dllのコードを呼び出しています。このdllは登録する必要はなく、プロパティとメソッドを指定する.defファイルのみが必要です。Vb6はそれに遅れてバインドします。dllは、NetFrameworkに依存せずにVS2005で記述されています。

アプリケーションをNet4に移行していて、C ++ dllを新しい機能で拡張したいので、既存のC++コードをVC++に移行する方法を考えていました。その後、dllはすでにC#およびVB.Netライブラリも含まれているソリューションにうまく統合されると思います。

この計画のすべきこととすべきでないことについてのチュートリアル/ドキュメントはありますか?

編集:私はVC ++についていくつかの基本的な誤解を持っていると思います。それは、C ++構文を維持しながら、100%マネージコードに移植できると考えています。私が受け取った返信は、VC++が常にネイティブのアンマネージコードを生成することを示しているようです。

4

2 に答える 2

2

純粋な C++ の観点からは、VS2005 ソリューションとプロジェクトを自動的に VS2010 に変換できるはずです。ソリューションまたはプロジェクトを VS2010 にロードすると、自動的に変換されます。

于 2012-04-19T12:34:22.923 に答える
1

VS2010 で VS2005 プロジェクト ファイルを開くと、VS2010 は自動的に古いプロジェクトを新しいプロジェクト形式に変換し、自動変換によってすべてが正しく行われます。これは通常は機能しますが、常に機能するとは限りません。したがって、ここでの教訓は、安全のために、新しいプロジェクトのコンパイラ/リンク設定をすべて再確認することです。

また、VS2010 では、P/Invoke と C++/CLI というマネージド コードとネイティブ コードの間の相互運用性が向上しています。P/Invoke はより単純ですが、実行時にコンパイルしても失敗する可能性があることがわかります。C++/CLI はより柔軟性があり、作業も少し増えますが、必要に応じて相互運用機能のデバッグがはるかに簡単になります。

于 2012-04-19T12:45:44.663 に答える