Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1097080
  • 博文数量: 80
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 746
  • 用 户 组: 普通用户
  • 注册时间: 2018-06-12 20:01
个人简介

寫写code、调調bug、填填坑,僅此而已。

文章分类

全部博文(80)

文章存档

2019年(30)

2018年(50)

分类: C/C++

2018-11-26 19:39:14

myplugin.go

点击(此处)折叠或打开

  1. // testplugin project main.go
  2. package main

  3. import (
  4.     "fmt"
  5. )

  6. func init() {
  7.     fmt.Println("myplugin plugin!")
  8. }
  9. func TestPlugin() {
  10.     fmt.Println("test plugin plugin....")
  11. }
执行如下命令,生成动态库:
go build -buildmode=plugin myplugin.go
生成>>>>> myplugin.so
main.go

点击(此处)折叠或打开

  1. package main

  2. import (
  3.     "plugin"
  4. )

  5. func main() {
  6.     p, err := plugin.Open("myplugin.so")
  7.     if err != nil {
  8.         panic(err)
  9.     }
  10.     f, err1 := p.Lookup("TestPlugin")
  11.     if err1 != nil {
  12.         panic(err1)
  13.     }
  14.     f.(func())()
  15. }

运行结果



go1.8以上只支持linux系统,windows暂不支持。

阅读(5334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~