私はGolangを研究しており、コンパイラを持っていることがわかります。 しかし、それをアセンブリレベルのコードにコンパイルしているか、それをBYTECODESに変換してから、そのコンパイルを呼び出していますか?つまり、PHPでもBYTECODESに変換してより高速なパフォーマンスを得ることができます。 golangはシステムレベルのプログラミングとコンパイルのための置換えですか?googles GOLANGはインタプリタかコンパイラですか?
答えて
実際にはコンパイラです(実際には2つのコンパイラが組み込まれています)、完全に自己完結した実行可能ファイルとなります。あなたのサーバー上でそれを実行するために、補足的なライブラリやあらゆる種類のランタイムは必要ありません。ターゲットのコンピュータアーキテクチャ用にコンパイルするだけで済みます。 the documentationから
:
2つの公式のGoコンパイラツールチェーンがあります。このドキュメントでは、gc Goコンパイラとツール(6g、8gなど)に を示します。 がgccgoで動作する方法については、GCCバックエンドを使用する従来のコンパイラ を参照してください。
Goコンパイラは3つの命令セットをサポートしています。異なる アーキテクチャ用のコンパイラの品質には、重要な違いがあります( )。
amd64(a.k.a. x86-64); 6g、6l、6c、6a 成熟した実装。 コンパイラは有効なオプティマイザ(登録簿)を持っており、良いコードを生成します(gccgoは時々顕著に改善されます)。
386(a.k.a. x86またはx86-32)。 8g、8l、8c、8a amd64ポートと同等です。
アーム(a.k.a. ARM); 5g、5l、5c、5a Linuxバイナリのみをサポートします。その他のポートは より広く使用されていないため、徹底的にテストされていません。低レベルのオペレーティング・システム・インタフェース・コードのような ものを除い
、ランタイム サポートは、すべてのポートで同じであり、マークアンドスイープガベージ コレクタ、効率的な配列と文字列のスライシング、およびのためのサポートを含みます 効率的なgoroutines(需要に応じて増減するスタックなど)。
コンパイラは、FreeBSD、Linux、NetBSD、OpenBSD、OS X (Darwin)、およびWindowsオペレーティングシステムを対象とすることができます。 の組み合わせの完全なセットは、下記の環境変数 の説明に記載されています。
通常、サーバではamd64
プラットフォームをターゲットにします。
Goはコンパイル速度がよく知られていることに注意してください。私のサーバープログラムをデプロイするときは、開発用コンピュータ上のさまざまなプラットフォーム用にビルドしません。ソースをデプロイし、本番サーバーに直接コンパイルします。 Go1以来、私は決して一つのプラットフォームでコンパイルするコードを持っていなかったし、他のプラットフォームでコンパイルしていない。
Windowsの場合、開発用コンピュータにexe
を作成しても問題がありませんでした。このコンピュータには何もインストールしていない人にこのexe
を送信するだけです。
- 1. どちらが良いですか、コンパイラかインタプリタですか?
- 2. アセンブラ、インタプリタ、コンパイラの画像?
- 3. コンパイラとインタプリタの関係
- 4. C++インタプリタ(コンパイラではありません)を使用しましたか?
- 5. php 5.3用のコードを実行するコンパイラ/インタプリタはありますか?
- 6. ptpythonのようなgolang用のインタプリタとオートコンプリートツールはありますか?
- 7. Windowsオペレーティングシステムでは、どのようなVBまたはVBAのインタプリタまたはコンパイラが利用できますか?
- 8. angularjsとgoogles URLショートネクタ
- 9. コンパイラ/インタプリタからメタルに出す命令言語のインプリメンテーションとの距離
- 10. Windowsで共有ライブラリとしてgoogles v8をビルドしますか?
- 11. PythonインタプリタはPythonで実装できますが、どのインタプリタがインタプリタ自体を解釈しますか?
- 12. JAVA:インタプリタまたはコンパイラ? Javaのファイル拡張子ですか?どのように実行する?
- 13. C#コンパイラはオープンソースですか?
- 14. Visual Studio Team ServicesにGolangコンパイラを追加できます
- 15. Googles ProtoBuf on C++でProtobuf-netとチャット(UDP)
- 16. 現在のOSとアーキテクチャ用のBCPLコンパイラ/インタプリタ?
- 17. インタプリタをブートストラップしますか?
- 18. 一般に、コンパイラ/インタプリタは解釈中に関数を作成することをお勧めしますか?
- 19. インタプリタやコンパイラのパーサで正規表現を使用する必要がありますか?
- 20. golangスライスは値渡しですか?
- 21. golangは統合テストですか?
- 22. Golang - チャネルバッファサイズとは何ですか?
- 23. Golang atomic.LoadUint32は必要ですか?
- 24. golangのコンテキストレジスタとは何ですか?
- 25. Golangバイナリは移植可能ですか?
- 26. googlesオンラインドキュメントビューアからpdfをダウンロードしてください
- 27. googles guavaには、Javaのtryparse整数メソッドなどがありますか?
- 28. codecademyのようなウェブサイトにコンパイラとインタプリタを埋め込む方法は?
- 29. Javaで実装された小さな/おもちゃの言語コンパイラ/インタプリタ
- 30. 誰かがオンライン/無料のMATLABコンパイラ/インタプリタを指すか、このMATLABコードで何が起こるか説明できますか?
それで、それをバイトコードに変換せずに実際にコンパイルします。 –
はい。どのCプログラムもコンパイルされているのと同じ意味で正確にコンパイルしています。すべてが静的にリンクされています。 –
生成するものの.Sコードを出力できますか? – Skaperen