环境

  • win10 64位
  • golang 1.35 64位
  • gcc 5.1.0 64 位

在以上环境中,golang开发动态链接库(.dll)文件,例子源码

import "c"//export Sum//export Sumimport "c"
package main

import "C"

//export Sum
func Sum(a int, b int) int {
	return a + b
}
func main() {}

打包

64位打包

go build --buildmode=c-shared -o Test.dll main.go

32位打包

BUILDARGS-ldflags "-s -w" -buildmode=c-shared -o $(EDITOR_FILE_BASENAME).dll $(EDITOR_FILE_BASENAME).gomain.dllmain.h