2017-11-10 8 views
1

通常のコマンドラインMonoアプリケーションから外部APIを呼び出すことは可能ですか?Mono(コマンドライン)アプリからネイティブAPIにアクセスする方法は?

例:私はthis page経由でMacにMonoをインストールしています。喜んでコマンドラインアプリケーションを書いていますが、今では単純なCoreFoundation APIにアクセスしたいと考えています。私は本当にXamarinに切り替えるのは嫌です。これは可能ですか?

よく似た質問として、C APIを公開している自分の共有ライブラリを作成して、何とか私のMonoアプリから呼び出せますか?

+0

これはあなたが探しているドロイドですか? http://www.mono-project.com/docs/advanced/pinvoke/ – Fildor

+1

これは私が探していたドロイドにぴったりのものでした。あなたがそのようなことを気にしているなら、それを答えとして投稿して、私はそれを受け入れるでしょう。 –

答えて

1

モノドキュメントは、Pをカバー/ここに起動します:http://www.mono-project.com/docs/advanced/pinvoke/

引用:

共通言語基盤(CLI)は、それが「簡単に」既存のコードと相互運用できるように設計されています。原則として、呼び出す既存のコードに対してDllImport関数宣言を作成するだけで、実行時には残りの部分が処理されます。たとえば、次のように

[DllImport ("libc.so")] private static extern int getpid();

あなたは、特にMacについて尋ねたので:

注:モノラルライブラリをロードするためのGLibを使用し、GLibのは、それがないのMac OS X上のバグがあります.dylib拡張子を使用しますが、Unix拡張子.soを使用します。これは最終的に修正されるべきですが、現在の回避策は.dylibファイルにマップされる.configファイルを書き込むことです。 [など...]

+0

引用符で「簡単」を書いていることが大好きです。 – Fildor

関連する問題