plumain.go
478 Bytes
package main
import (
"fmt"
"os"
"plugin"
"pro2d/src/components/net"
)
func main() {
p, err := plugin.Open("./bin/plugin.so")
if err != nil {
fmt.Println("error open plugin: ", err)
os.Exit(-1)
}
s, err := p.Lookup("IamPluginA")
if err != nil {
fmt.Println("error lookup IamPluginA: ", err)
os.Exit(-1)
}
pkg1 := net.MsgPkg{
Head: &net.Head{
Length: 16,
Cmd: 0,
ErrCode: 0,
},
}
if x, ok := s.(func(net.MsgPkg)); ok {
x(pkg1)
}
}