tinygo/testdata/cgo/main.go
2019-02-08 13:19:02 +01:00

26 строки
487 Б
Go

package main
/*
int fortytwo(void);
#include "main.h"
*/
import "C"
import "unsafe"
func main() {
println("fortytwo:", C.fortytwo())
println("add:", C.add(C.int(3), 5))
var x C.myint = 3
println("myint:", x, C.myint(5))
println("myint size:", int(unsafe.Sizeof(x)))
var y C.longlong = -(1 << 40)
println("longlong:", y)
println("global:", C.global)
var ptr C.intPointer
var n C.int = 15
ptr = C.intPointer(&n)
println("15:", *ptr)
C.store(25, &n)
println("25:", *ptr)
}