golang目前无法识别C++,只能使用C语言。
同一文件夹下:
// foo.h
int count;
void foo();
//foo.c
#include "foo.h"
int count = 6;
void foo() {
printf("I am foo!\n");
}
//foo.go
package main
// #cgo LDFLAGS: -L ./ -lfoo
// #include <stdio.h>
// #include <stdlib.h>
// #include "foo.h"
import "C"
import "fmt“
func main() {
fmt.Println(C.count)
C.foo()
}
编译静态库
$> gcc -c foo.c
$> ar rv libfoo.a foo.o
go build foo.go
./foo