精易论坛

标题: GO语言编译的DLL 怎么用易语言调用方法 [打印本页]

作者: wangfly0013    时间: 2019-5-24 16:40
标题: GO语言编译的DLL 怎么用易语言调用方法
package main

import "C"
import "fmt"

//export PrintBye
func PrintBye() {
fmt.Println("From DLL: Bye!")
}



func main() {
// Need a main function to make CGO compile package as C shared library
}

这是一个简单输出,但是用易语言 dll调用 就出错 哪位大侠有好的解决办法

1.png (16.02 KB, 下载次数: 0)

1.png

作者: 菜鸟菜鸡秋水    时间: 2019-10-22 19:54
我这里有一个,可以调用,现在的问题的,不会自动释放内存,你说坑不坑  ,两端都无法释放
作者: diduidi    时间: 2019-11-30 22:32
本帖最后由 diduidi 于 2019-11-30 22:33 编辑
菜鸟菜鸡秋水 发表于 2019-10-22 19:54
我这里有一个,可以调用,现在的问题的,不会自动释放内存,你说坑不坑  ,两端都无法释放

go语言写的dll返回值是C.CString的,在go语言的那边不能释放,只能外部释放,用defer的话,,刚开始会有随机值,后面运行一段时间,返回值就正常了,内存也不会泄露,我也还在找外部释放的方法

补充内容 (2019-12-1 10:24):
搞定了,调用的语言内存回收下就ok了
作者: gty3d987321    时间: 2020-4-28 16:09
同求,访问不了呢
作者: qq2517230090    时间: 2021-1-25 01:17
diduidi 发表于 2019-11-30 22:32
go语言写的dll返回值是C.CString的,在go语言的那边不能释放,只能外部释放,用defer的话,,刚开始会有随 ...

老哥,具体咋弄得




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4