调用cgo宏函数

时间:2018-08-18 03:20:27

标签: go cgo

我有一个cgo程序:

package main

//#define sum(a,b) (a)+(b)
import "C"

func main() {
        print(C.sum(1,2))
}

应该非常简单并打印3。但是编译失败:

could not determine kind of name for C.sum

作为我在cgo中发现的有限文档,经过一些测试,cgo可与宏常量一起使用,但是如何使它与宏函数/参数一起使用?

1 个答案:

答案 0 :(得分:0)

简单,您只需要一个包装器即可

//#define SUM(a,b) (a)+(b)
//int sum(int a, int b) {
//  return SUM(a,b);
//}
import "C"

func main() {
    print(C.sum(1, 2))
}