C++/CLI 必須ツール
概要
ここでは、C++/CLI でプログラムを記述・学習する上において、
必須のツールである言語間コンバータを紹介します。
語弊を恐れずに言えば、C++/CLIとは、C+++C#のようなものです。
C++とC#と.NET FrameWorkの3者に精通することが、C++/CLIを習得する上での近道だと言えます。
言語間 コンバータ
-
C# to C++ Converter
この実態は「C# to C++/CLI Converter」です。
これ1つあるだけで、学習効果やソースの記述速度が10倍以上は早くなります。
C#のdynamic型・lambda系・linq系以外は、相当正確にC++/CLIへと変換できます。
C++とC#の両方の知識の基礎があれば、このツールによる変換結果を踏襲しているうちに、
どんどん自力でC++/CLIが書けるようになってきます。
-
「array」だとエラーになるので「cli::array」になるように設定変更
VS2015以降では、C++11のarray型とC++/CLIのarrayの名前空間上での優先順位が変化したため、
arrayのままだと、エラーになりやすくなります。
以下のようにな設定をして変更しておくことを強くお勧めします。
-
「 ^」ではなく「^ 」に変更
-
C#→C++/CLIへの変換パターン
-
-
C++ to C# Converter
ネイティブではない純粋なC++/CLIで記述されていれば、相当正確に変換されます。
C++/CLIで記述していたものを一部C#に回したり、元々がC++/CLIのソースだけれど、
サンプルとしてはC#にしたい場合など、こちらも多目的に便利です。
-
ILSpy
すでにコンパイル済みのマネージドアセンブリDLL(.NET FrameWork系のDLL)を、
C#やVB.netの綺麗なソース状態へと戻すツールです。
すでに詳細が不明なコンパイル済みの.dllを、ソースへと戻して内容を確認等する際に役立ちます。
また、ソースが公開されていないアセンブリの.NET FrameWorkのバージョンを引き上げるのにも役立ちます。ILSpyにより、概ね正確に逆変換が可能ですが、C#のdynamic型については、
正確には変換が出来ません。