2017-01-18 4 views
0

golangはcランタイムに依存していますか?それが依存しているのであれば、go-binaryで静的にコンパイルされているので、Go-appはどこにでも依存することなく動作します。ほとんどの場合、golangはcランタイムに依存していますか?

結果:ここで

は、あなたが行くコンパイラが提供する実行ファイルの話をしている場合、その答えは「それが依存yesまたはno —」である話題についてwhat C-runtime is

+0

"cランタイム"とは何ですか? Goは存在しないものに依存しません... – Volker

+0

Goはそれがあなたが求めているものならCライブラリを必要としません。 – JimB

+0

[参照](http://stackoverflow.com/q/36783409/2285935) –

答えて

5

です実行可能プログラムはではなく、はCランタイムライブラリに依存します。ランタイムは、プラットフォームの依存:DNS解決を使用した場合

しかし、特定の状況下では、いくつかのプラットフォーム上でCランタイムライブラリがでリンク動的を取得します。特に 、これは、Linux上の囲碁バージョン< 1.5の場合と同様そのような解決を処理するための実装。libcIn 1.5 this has been reworked

カーネルのシステムコールに直接アクセスする安定した方法を提供しない(IIRC)Solarisとrequires routing these calls through the platform's libcがあります。

もう1つのケースがあります:cgoを使用して、Goコードと外部Cコードをインターフェースするレイヤーです。 cgoを使用すると、GoプログラムはCランタイムに依存します。 cgoを直接使用することはできませんが、使用しているサードパーティパッケージの1つ以上がcgo、—を推移的に使用する可能性があります。—プログラムはCランタイムライブラリによって異なります。

関連する問題