go语言生成DLL,供其他语言调用
    		       		warning:
    		            这篇文章距离上次修改已过445天,其中的内容可能已经有所变动。
    		        
        		                
                在Go语言中生成可供其他语言调用的DLL文件,你需要使用cgo,并定义//export注释的函数。以下是一个简单的例子:
首先,创建一个Go文件,例如example.go:
package main
 
import "C"
 
//export Add
func Add(a int, b int) int {
    return a + b
}
 
func main() {
    // 空的main函数,这是Go程序的约定,不会执行
}然后,在命令行中运行以下命令来编译这个文件:
go build -buildmode=c-shared -o example.dll .这条命令会生成一个名为example.dll的DLL文件,其中包含Add函数。
现在你可以在其他语言中调用这个DLL文件中的Add函数了。例如,在C#中,你可以使用DllImport来加载并使用这个函数:
using System;
using System.Runtime.InteropServices;
 
class Program
{
    [DllImport("example.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern int Add(int a, int b);
 
    static void Main(string[] args)
    {
        int result = Add(3, 4);
        Console.WriteLine("Result: " + result);
    }
}确保DLL文件与你的C#程序在同一个目录下,或者在环境变量的PATH中指定DLL文件的路径。
评论已关闭