c/ffi: add _demo
This commit is contained in:
20
c/ffi/_demo/printf/main.go
Normal file
20
c/ffi/_demo/printf/main.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"github.com/goplus/llgo/c"
|
||||
"github.com/goplus/llgo/c/ffi"
|
||||
)
|
||||
|
||||
func main() {
|
||||
sig, err := ffi.NewSignatureVar(ffi.TypeInt32, 1, ffi.TypePointer, ffi.TypeInt32)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
var ret int32
|
||||
text := c.Str("hello world: %d\n")
|
||||
var n int32 = 100
|
||||
ffi.Call(sig, c.Func(c.Printf), unsafe.Pointer(&ret), unsafe.Pointer(&text), unsafe.Pointer(&n))
|
||||
c.Printf(c.Str("ret: %d\n"), ret)
|
||||
}
|
||||
Reference in New Issue
Block a user