cgo编译c代码

在go里面调用c代码,可以把c代码写在import "C"的上面,也可以写在一个源码文件中,那cgo怎么知道编译哪一个文件了?还是说,就找固定的,以某种后缀(.c,.cpp)结尾的文件,我在工程目录下新增一个.cpp,好像它自己就能找到?

已邀请:

chai2010 - 数盲患者

赞同来自:

c/c++都可以识别,随便怎么写。只是下划线前缀的会被忽略

lichao2018

赞同来自:

只要go代码中使用了import "C",即cgo,那么对应包目录下的所有的.c .cpp都会被编译,即使c/c++编译单元中的符号没被使用。 如果没有使用cgo,包目录下出现.c,.cpp文件,gc应该会报错。

要回复问题请先登录注册