2009-05-08 34 views

答えて

1

CREATE FUNCTIONを使用して外部関数を定義できます。この参照は、DLLがC呼び出し規約を使用するネイティブDLLである必要があり、したがってマネージコードを処理できないことを意味します。

Mono AOTまたはMS Native Image Generatorを使用して、マネージコードをネイティブコードにコンパイルすることはできますが、これによってC呼び出し規約を使用するネイティブDLLが生成されるかどうかはわかりません。やってみなきゃ。

これが機能しない場合は、DLL用のアンマウントされたラッパーを作成することができます。あなたがラッパーを記述する必要が

UPDATE

- C-Language Functions DLLは、ネイティブコードにマネージコードをコンパイルする場合availiableではありません魔法のブロックを含まなければならないと述べています。

1

Postgres @ Linux GazetteのPosgtreSQL、External FunctionsからCの関数を呼び出すのに若干のオーバーヘッドがあるようですが、私はあなたが本当に必要ならば、ホスティングを構築することができますモジュールは、CLRインスタンスをロードし、適切なPostgresリンクロジックにマップされたC#メソッドへのエントリポイントを提供します。これは非常にコストがかかるようです。

もう1つのアプローチは、WebサービスにC#メソッド(すでに書かれていると仮定)をカプセル化し、ラッパー(必ずしもCではなく、軽量拡張開発バインディングPostgresのために)、Webサービスに呼び出します。

関連する問題