golang 调用 c++动态库(winlinux环境)
Posted BBinChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 调用 c++动态库(winlinux环境)相关的知识,希望对你有一定的参考价值。
在生产时,经常会使用golang调用已有的c++库,以下分别演示在linux 跟 windows开发环境下怎样加载动态库。
linux下的动态库为.so文件、win动态库为.dll文件
test.cpp 生成 test.so(linux)、 test.dll(win)
#ifdef _WINDOWS
#else
#define WINAPI
extern "C" WINAPI int testFunc() {
return 0;
}
linux开发环境
demo.go
package main
import "C"
func main() {
C.int res = C.testFunc()
}
Windows开发环境
package main
func main() {
h := syscall.MustLoadDLL("test.dll")
res := h.MustFindProc("testFunc").Call()
}
以上是关于golang 调用 c++动态库(winlinux环境)的主要内容,如果未能解决你的问题,请参考以下文章