問題タブ [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.

0 投票する
1 に答える
2508 参照

c# - モノ埋め込み、C から C# ジェネリック メソッドを呼び出す

C からジェネリック メソッド (静的および非静的の両方) を呼び出す方法がわかりません。

最大の原因は、ジェネリック メソッドの呼び出しが本質的に文書化されていないことです。mono リポジトリには例がありませんが、ドキュメントではこれが可能であると言及されています。

残念ながら、これは完全な例を示していないため、あまり役に立ちません。また、何をしても (使用するかどうかに関係mono_object_get_classなく)、ジェネリック メソッドを呼び出すと、警告が表示されてクラッシュします。

サンプルの C# クラスとそれを呼び出す C コードの下。非ジェネリック メソッドの呼び出しは問題なく機能しますが、ジェネリック メソッドの呼び出し方法がわかりません。役立つヒントがあれば幸いです。

サンプルCSharp

サンプル C

0 投票する
2 に答える
1558 参照

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 サブディレクトリはまったくありません。

ビルドで忘れたものはありますか?

ご支援ありがとうございました。

0 投票する
1 に答える
827 参照

c++ - データ付き mono_add_internal_call

次のようにモノに内部呼び出しを追加しようとしています:

内部呼び出しは、いくつかのデータ (ネイティブ AMX_NATIVE へのポインター) を使用してメソッドを呼び出す必要があります。ただし、ラムダ コード内で値にアクセスすることはできません。

変数キャプチャ ( [&]() { ... } ) を使用すると、ラムダ コードを void にキャストできません * これを mono_add_internal_call と呼ぶ必要があります。

誰かがこの問題を回避する方法を考えられますか?

0 投票する
0 に答える
649 参照

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) です。

0 投票する
0 に答える
326 参照

mono - Mono 埋め込み呼び出しメソッドのクラッシュ

monoのC APIからC#ソースをコンパイルしようとしています。以下の私のコードを見てください。

このコードは MonoObject* pIcc = mono_runtime_invoke(pMethodCreateCompiler, pCodeProvider, NULL, NULL); で失敗します。ライン。

私は何を間違っていますか?

0 投票する
0 に答える
103 参照

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

プログラム出力: ネイティブ スタックトレース: