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のままだと、エラーになりやすくなります。
      以下のようにな設定をして変更しておくことを強くお勧めします。

      PICTURE

      PICTURE

      PICTURE

    • 「 ^」ではなく「^ 」に変更

      PICTURE

      PICTURE

    • C#→C++/CLIへの変換パターン

      PICTURE

  • 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型については、
    正確には変換が出来ません。