文件test.h如下
#ifndef _TEST_H
#define _TEST_H
#ifdef __cplusplus
extern "C" {
#endif
extern void myTest();
#ifdef __cplusplus
}
#endif
#endif
文件test.cc如下
#include "_cgo_export.h"
extern "C" {
void myTest() {
test();
}
}
文件test.go如下
package test
/*
#include "test.h"
*/
import "C"
import ()
func Test() {
C.myTest()
}
//export test
func test() {
println("hello")
}
如果执行go build -x则会有如下结果
WORK=/tmp/go-build845372545
mkdir -p $WORK/_/home/pirate/programs/goclipse/workspace/v8/src/test/_obj/
mkdir -p $WORK/_/home/pirate/programs/goclipse/workspace/v8/src/
cd /home/pirate/programs/goclipse/workspace/v8/src/test
/home/pirate/programs/go/pkg/tool/linux_amd64/cgo -objdir