comparison go/godc/README.txt @ 9:8a45a05ff64e

- go binding cleanup, not enforcing relative paths anymore, readme update
author cslag
date Sat, 26 Mar 2016 01:09:51 +0100
parents 0cfcc391201f
children 739c40f35a6a
comparison
equal deleted inserted replaced
8:c7830d9614f5 9:8a45a05ff64e
1 dyncall go bindings 1 dyncall go bindings
2 Copyright 2014 Tassilo Philipp 2 Copyright 2014-2016 Tassilo Philipp
3 February 23, 2014 3 February 23, 2014
4 4
5
6 BUILD/INSTALLATION
7 ------------------
8
9 1) make sure dyncall is built and libraries/headers are in include paths or
10 CGO_CFLAGS points to them, etc.
11
12 2) Build this nut with:
13 go build
14
15
16 API
17 ---
18
19 Since go is low level, dyncall's public functions are pretty much exposed
20 function by function. Referg to dyncall(3) and godc.go.
21
22 l := new(ExtLib)
23 err := l.Load(libpath)
24 defer l.Free()
25 err := l.SymsInit(libpath)
26 defer l.SymsCleanup()
27
28 l.lib // Address lib is loaded at
29 l.FindSymbol(symbolname)
30 l.SymsCount()
31 l.SymsNameFromValue(l.FindSymbol(synbolname))
32 l.SymsName(index)
33
34 vm := new(CallVM)
35 err := vm.InitCallVM()
36 defer vm.Free()
37 vm.Mode(DC_CALL_C_DEFAULT)
38 vm.Reset()
39 vm.ArgFloat(36)
40 rf := vm.CallFloat(l.FindSymbol("sqrtf"))
41
42 vm.Arg....
43
44
45 SIGNATURE FORMAT
46 ----------------
47
48 Signature string is only used by ArgF function, rest uses type info from Go.
5 49
6 TYPE CONVERSIONS (and reserved signature char) 50 TYPE CONVERSIONS (and reserved signature char)
7 51
8 SIG | FROM GO | C/C++ | TO GO 52 SIG | FROM GO | C/C++ | TO GO
9 ----+---------------------+--------------------+---------------- 53 ----+---------------------+--------------------+----------------
25 'Z' | string | void* | string 69 'Z' | string | void* | string
26 70
27 71
28 ToDo: 72 ToDo:
29 - structs 73 - structs
30 - callf wrap 74 - callbacks
75 - callf wrap (argf already there)
76