cgo之简介

cgo可以认为是在go语言中调用c程序,或者在c程序中调用go程序。我们先看一个最简单例子

package main

import "C"

func main() {
println("hello")
}

比普通的go程序多了一行import "C",但是我们发现虽然启动了cgo特性,但是实际上我们并没有使用它,并且还不会报错。但是编译的时候需要用到gcc编译器。

那如何在go文件中执行c的方法呢?

package main

//#include <stdio.h>
import "C"

func main() {
C.puts(C.CString("Hello, Worldn"))
}

首先import "C"是必须要有的,在这句话上面,放的就是c语言方面的内容,例如include就是需要引用的类库,这是固定格式,在import "C"上面加上//,后面就是包含语句。当然如果有多条语句的话可以使用/**/这样的注释。

下面调用c中的puts方法数据字符串。

int puts( char *str );

发表评论

相关文章