クローズこの質問は
オフトピックです。現在、回答を受け付けていません。
コメント
C ++ / CLI(共通言語インフラストラクチャ)。基本的に、C ++ / CLIには移植性のあるものはありません。プラットフォームライブラリの多くはC#と共有されているため、ターゲットOSがWindowsの場合、アプリケーションをC#に移植できる可能性があります。 C ++ / CLI自体は、x86またはx64CPU上のWindowsに限定されています。別のGUIフレームワークに移植するには、通常、コードのGUI部分を完全に再構築する必要があります。 C ++ / CLIは、System.Drawing、System.Windows.Forms、Windows Presentation Foundation(WPF)などのGUIを使用する場合があります。
GUIコードをXamarin(Mono、C#言語を使用する環境)に移植する場合があります。 Windows x86 / x64以外のプラットフォームでの実行を許可します。データは、Microsoft C#とXamarin / Monoの両方で利用可能なP / Invokeを使用して、C#とプレーンC ++(WindowsではアンマネージDLLまたはLinuxではダイナミック共有オブジェクト(.so)としてコンパイルできます)間で受け渡すことができます。
回答
これらの呼び出しは、少なくとも直接では移植できません。gcnew
はC ++キーワードではなく、「C ++ / CLI」からのものです。これは、現在gccでサポートされていない別の言語です。この古いSOの質問にはかつてはサポートを試みましたが、2009年以降は廃止されているようです。
これを行う唯一の合理的な方法は、すべての管理対象コードを標準C ++に移植してから、とgcroot
はもう必要ありません。
回答