1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
package main
import (
"fmt"
"os"
"plugin"
"runtime"
)
func must(err error) {
if err != nil {
panic(err)
}
}
func main() {
plug1, err := plugin.Open(os.Args[1])
must(err)
runtime.Breakpoint()
plug2, err := plugin.Open(os.Args[2])
must(err)
runtime.Breakpoint()
fn1, err := plug1.Lookup("Fn1")
must(err)
fn2, err := plug2.Lookup("Fn2")
must(err)
a := fn1.(func() string)()
b := fn2.(func() string)()
fmt.Println(plug1, plug2, fn1, fn2, a, b)
}
|