私は数日前にGoを学習し始め、CGOとgccgoコンパイラから来ました。私の理解から、これは、GoプログラムがGoコンパイラを使用してコンパイルし、Cコンパイラを使用してCライブラリをコンパイルし、それらのライブラリをGoプログラム内から参照できるようにします。これは、私たちがメインプログラムのCのパフォーマンス(必要に応じて)をほとんどオーバーヘッドで活用できるようにするため、私にとって本当に面白いです。GoLangアプリケーションでC(++)を使用してパフォーマンスを向上させる
私はそれがどのように少しわからないので、私はここで聞いてるのよしかし:
は、あなたは自分のGoアプリケーション内からそれを使用するCライブラリを作成します例はありますか?あるいは、この機能は、既存のCコードの再利用性を促進するためのものですか?
P.S:CGOはC++をサポートしていないと思いますが、Cの関数を使ってC++コードをラップして正常に呼び出せる人がいました。
ほとんどの場合、再利用の可能性が高いです。ほとんどすべての主要ライブラリ(OSはもちろん)にはCバインディングがあります。したがって、あなたの言語からCを呼び出す能力を持つことは、その言語の採用にとって大きな勝利です。 – Dan