Cプログラムを作りました。そして、go 関数が定義された go ファイルを作成しました。C プログラムでは、go 関数を呼び出しました。go は C から呼び出されてコンパイルまたは解釈されますか?
3 に答える
常にコンパイルされます。C は、コンパイルせずに関数を実行することはありません。
Cプログラムを作りました。そして、go 関数が定義された go ファイルを作成しました。C プログラムでは、go 関数を呼び出しました
C 関数を呼び出す Go プログラムを作成しました (その逆はまだ可能ではありません)。次に、C から Go 関数を再度呼び出しているようです。これは少し奇妙で、ほとんどの場合あまり意味がありません。https://stackoverflow.com/a/6147097/532430を参照してください。
プログラムのコンパイルにgccgo を使用したと仮定します。Go の gc を使用した場合、プログラムがどの言語で記述されているかについて混乱することはないからです。
go は C から呼び出されてコンパイルまたは解釈されますか?
コンパイル済みです。gccgo は GCC の Go フロントエンドです。また、GCC は GNU Compiler Collectionの略です。
プログラムで最初に go 関数を呼び出すと、コンパイラは関数呼び出しに必要なコード、関数引数のスペース、関数引数の型に関する詳細の格納などを生成します。すべてがコンパイラ標準に従って正しい場合、オブジェクト ファイルが作成され、さらに、リンクなどの他のプロセスがあります。つまり、基本的には「 goは C から呼び出されたのか、コンパイルされたのか、解釈されたのか? 」とは言えませんが、プログラムを実行するために連携する一連のプロセスです。