1、gcc环境配置

Go 语言编译 DLL 文件,需要 gcc 的支持,Windows 环境下的 gcc 系统是 MinGW,官网下载地址是:
https://sourceforge.net/projects/mingw-w64/

2、编写 Go 语言程序:go2python.go

package main

import (
    "C"
    "time"
)

var c chan int

func decrement(n int) {
    for n > 0 {
        n -= 1
    }
}

//export count_time
func count_time() *C.char {
    start := time.Now()
    decrement(100000000)
    total_time := time.Since(start).String()
    return C.CString(total_time)
}

func main() {}

注意3点:
1、注释 //export PrintBye 和 //export Sum 在编译 DLL 的时候是必须的,说明了 DLL 需要输出的函数。注意注释和下面的函数名之间不能有空行。

2、函数 main 也是必不可少的,但是不知道是否能够用它来做 DLL 的初始化,这个以后再仔细研究。

3、go脚本文件名,不能命名为xxx_test.go。

3、编译生成 DLL 文件

MinGW 安装后有一个叫做 Run terminal 的快捷方式,运行后进入命令行方式,进入 exportgo.go 所在目录,运行如下命令:

go build -buildmode=c-shared -o go2python.dll go2python.go

编译生成 go2python.dll 和 go2python.h 两个文件。

转载:https://blog.csdn.net/quicmous/article/details/102772419

最后修改:2023 年 07 月 25 日
您的赞赏是对我最大的支持。