当从C调用go程序时,它是编译还是解释?

时间:2015-04-01 06:20:03

标签: c go compilation interpretation

我做了一个C程序。我用go函数定义了一个go文件。 在C程序中,我调用了go函数。是从C编译还是解释?

3 个答案:

答案 0 :(得分:3)

总是编译。如果没有编译,C将永远不会运行。

答案 1 :(得分:3)

  

我做了一个C程序。我用go函数定义了一个go文件。在C程序中,我调用了go函数

你做了一个调用C函数的Go程序(相反的方法还不可能。)然后你显然再次从C调用Go函数,这有点奇怪,大部分时间都没有多大意义。请参阅https://stackoverflow.com/a/6147097/532430

我假设您使用gccgo来编译您的程序。因为如果你使用了Go的gc,那么你的程序编写的语言就不会有任何混淆。

  

是从编译或解释的C调用吗?

已编译。 gccgo是GCC的Go前端。 GCC代表GNU 编译器集合。

答案 2 :(得分:-2)

在程序中,当您第一次调用go函数时,编译器将生成函数调用所需的代码,函数参数的空间,存储函数参数类型的详细信息等。 如果根据编译器标准一切正确,则创建目标文件,并且还有其他过程,如链接和所有。 所以基本上你不能说它是“从C编译o r 解释?”,这是一系列协同工作以使程序运行的过程。