package main
import (
"fmt"
"plugin"
)
func main() {
p, err := plugin.Open("plugin_M1.so")
if err != nil {
panic(err)
}
v, err := p.Lookup("Close")
if err != nil {
panic(err)
}
para := v.(*[]float64)
iniarr := make([]float64, 5)
for i := 0; i < len(iniarr); i++ {
iniarr[i] = float64(i)
fmt.Printf("test %v ==> %p\n", i, &iniarr[i])
}
*para = iniarr
v2, err := p.Lookup("Sum")
if err != nil {
panic(err)
}
fun := v2.(func() float64)
fmt.Println(fun())
}
编译输出: