check.cpp
extern "C" {
int check(int a, int b,int c,int d,int e) {
return a + b + c-d+e;
}
}
check.h
#ifdef __cplusplus
extern "C" {
#endif
int check(int a, int b,int c,int d,int e);
#ifdef __cplusplus
}
#endif
main.go
package main
/*
#cgo CXXFLAGS: -std=c++11
#cgo LDFLAGS: -lstdc++
#include "check.h"
*/
import "C"
import "fmt"
func main() {
a, b,c,d,e := 3, 5,2,3,4
result := int(C.check(C.int(a), C.int(b),C.int(c),C.int(d),C.int(e)))
fmt.Printf("Result: %d\n", result)
}