1对自我有一个程序;
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可以处理宏常量,但是如何使用宏函数/参数呢?
很简单,你只需要一个包装器:
//#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))
}