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)
	}

}