4

Goで共有オブジェクトを使用できますか?

4

1 に答える 1

6

Go FAQによると、「外部関数インターフェイス」を使用してCライブラリを呼び出すことができます。

GoプログラムはC/C ++プログラムとリンクしていますか?

2つのGoコンパイラ実装があります。6gとその仲間で、一般的にgcと呼ばれます。Gcは異なる呼び出し規約とリンカーを使用するため、同じ規約を使用するCプログラムとのみリンクできます。このようなCコンパイラはありますが、C++コンパイラはありません。GccgoはGCCフロントエンドであり、注意して、GCCでコンパイルされたCまたはC++プログラムとリンクできます。ただし、Goはガベージコレクションされるため、少なくとも単純にそうすることは賢明ではありません。

GoコードからCで記述されたライブラリを安全に呼び出すことができる「外部関数インターフェイス」があります。SWIGを使用して、この機能をC++ライブラリに拡張する予定です。CまたはC++からGoコードを呼び出す安全な方法はまだありません。

Windows DLLに関する以前の質問に答えるには、いいえ。現在、GoのWindows実装はありません。詳細については、can-go-compiler-be-installed-on-windowsを参照してください。

于 2010-02-12T20:14:46.593 に答える