問題タブ [mono-embedding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - モノ埋め込み、C から C# ジェネリック メソッドを呼び出す
C からジェネリック メソッド (静的および非静的の両方) を呼び出す方法がわかりません。
最大の原因は、ジェネリック メソッドの呼び出しが本質的に文書化されていないことです。mono リポジトリには例がありませんが、ドキュメントではこれが可能であると言及されています。
残念ながら、これは完全な例を示していないため、あまり役に立ちません。また、何をしても (使用するかどうかに関係mono_object_get_class
なく)、ジェネリック メソッドを呼び出すと、警告が表示されてクラッシュします。
サンプルの C# クラスとそれを呼び出す C コードの下。非ジェネリック メソッドの呼び出しは問題なく機能しますが、ジェネリック メソッドの呼び出し方法がわかりません。役立つヒントがあれば幸いです。
サンプルCSharp
サンプル C
macos - Mac ではモノラル 64 ビット。4.5がありません
Mono を 64 ビット Mac OSX アプリケーション (すべて正常に動作する Windows C++ から移植)に組み込みたいと考えています。Mac OSX 用にコンパイル済みの 32 ビット Mono のみが利用可能であるため、このマニュアルに従って独自の 64 ビット Mono リリースを作成することができました。
XCode で 64 ビット アプリケーションをデバッグすると、mono-embedding の初期化が失敗し、「アセンブリ mscorlib.dll が見つからないか、読み込めませんでした。`usr/local/lib/mono/4.5' ディレクトリにインストールされている必要があります。 "
このエラーが発生するコード (domain.c - mono_init_internal()) にステップ インできます。残念ながら、私の mono ビルドは明らかに 4.5 ディレクトリを生成しませんでした。利用可能な唯一の「.NET-Version」は 2.0 のようです: usr/local/lib/mono/2.0/mscorlib.dll が存在しますが、4.5 サブディレクトリはまったくありません。
ビルドで忘れたものはありますか?
ご支援ありがとうございました。
c++ - データ付き mono_add_internal_call
次のようにモノに内部呼び出しを追加しようとしています:
内部呼び出しは、いくつかのデータ (ネイティブ AMX_NATIVE へのポインター) を使用してメソッドを呼び出す必要があります。ただし、ラムダ コード内で値にアクセスすることはできません。
変数キャプチャ ( [&]() { ... } ) を使用すると、ラムダ コードを void にキャストできません * これを mono_add_internal_call と呼ぶ必要があります。
誰かがこの問題を回避する方法を考えられますか?
winapi - libmonosgen-2.0 にリンクされた dll をロードすると、Win32 API LoadLibrary が失敗するのはなぜですか?
Mono Clr を組み込んだ win C/C++ dll を作成しました。.lib を生成するために、.def ファイル (およびいくつかの微調整) を使用して呼び出しにリンクしました。これらの呼び出しは、libmonosgen-2.0.dll というファイルにあります。libmonosgen-2.0.dll が見つからないというエラーは表示されません。
LoadLibrary Win32 API を使用して C/C++ テスト アプリで .dll をロードしようとすると、コード 193/C1 - 悪いイメージで失敗します。libmonosgen-2.0.dll へのリンクを削除すると、再び正常に読み込まれます。
Dependency-Walker を使用して dll を調べましたが、奇妙な依存関係はありません (すべて system32 のもの)。
なぜこの問題が存在するのか、私にはまったくわかりません。
PS: プラグインを作成しているため、Mono 埋め込みコードを .exe に入れることはできません。プラグインは .dll でなければなりません。
編集: 32 ビットと 64 ビットのイメージが混在していました。mono インストールは 32 ビット (少なくとも 3.2.3) です。
mono - Mono 埋め込み呼び出しメソッドのクラッシュ
monoのC APIからC#ソースをコンパイルしようとしています。以下の私のコードを見てください。
このコードは MonoObject* pIcc = mono_runtime_invoke(pMethodCreateCompiler, pCodeProvider, NULL, NULL); で失敗します。ライン。
私は何を間違っていますか?
c# - Mono Embedded 4.0.4 への移行とさらなるサポート
mono 3.12 から新しい mono バージョン 4.0.4 に移行しました。 http://www.mono-project.com/news/2015/05/04/mono-4-0-is-out/ 新しいモノ 4.0.4 リリースに基づいたモノ組み込みチュートリアルを教えてもらえますか? 私が見つけることができる最も簡単なチュートリアル アプローチを試してみました。モノ ドメインを取得するたびにセグメント エラーが発生します。
project.pro
mono-2.pc
main.cpp
プログラム出力: ネイティブ スタックトレース: