精易论坛

标题: 使用 go语言 golang 编译 dll 给易语言使用 [打印本页]

作者: YeSilin    时间: 2021-1-24 03:47
标题: 使用 go语言 golang 编译 dll 给易语言使用
本帖最后由 YeSilin 于 2021-1-24 03:51 编辑

使用 go语言 golang 编译 dll 给易语言使用


使用golang写动态库,再使用易语言写界面,肯定有不少人有这种想法吧;但中间有些坑,这里留下一些解决方法。


一、如何编译?



二、形参与返回值



三、内存泄漏



四、如何调用





golang编译dll给易语言.7z (1007.37 KB, 下载次数: 270)




作者: sinewtec    时间: 2021-1-24 09:28
虽然不懂 go语言 不过还是支持的
作者: 先锋小七    时间: 2021-1-24 10:02
本帖最后由 先锋小七 于 2021-1-24 10:13 编辑

同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C" 的位置。
然后释放内存其实还有更好的解决办法,可以让go子程序返回*C.Cstring的指针,在易语言里面使用msvcrt的free函数去释放它,这样就不需要在go里面声明一个全局变量了(多线程安全?)
然后go的编译命令行,如果你使用的包里面有一些特殊的包,编译后会依赖一些运行库DLL,可以使用工具看导入表。但是这些DLL其他人电脑可能没有,所以还需要加一个参数实现完全静态编译。然后go的子程序同样也支持传递参数指针用于赋值,实现返回多个返回值的作用。


作者: 天界勇士    时间: 2021-1-24 11:46
支持1,2楼 刚学习go语音  感觉不错
作者: 灵海雪缘    时间: 2021-1-24 22:27
嘿嘿,不懂,不过支持一下
作者: hmyroot    时间: 2021-1-24 23:12
感觉工作中用go语言的不多
作者: xslyhk    时间: 2021-1-25 00:14
不支持多线程吧
作者: 点点丶滴滴    时间: 2021-1-25 01:33
谢谢分享来看看
作者: hao1997    时间: 2021-1-25 20:50
先锋小七 发表于 2021-1-24 10:02
同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C ...

大佬可以弄个例子么?
作者: onefish    时间: 2021-1-25 21:43
#在这里快速回复#        感谢分享,很给力!~
作者: 124149449    时间: 2021-1-26 01:01
感谢分享,很给力!~
作者: bqtlq    时间: 2021-1-27 21:57
支持一下{:3_41:}
作者: 易语言不错    时间: 2021-1-27 22:40
学习下狗语言
作者: 黑色№    时间: 2021-2-4 18:20
有意思,但不知道golang跑Windows平台性能会不会掉,最近在用golang重写精易模块,有兴趣可以一起交流
作者: 黑色衬衣    时间: 2021-2-11 08:26
这个写小工程可以,还是要支持!!!!
作者: a909254    时间: 2021-2-26 08:09
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 15339587789    时间: 2021-5-30 01:42
牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX
作者: 15339587789    时间: 2021-5-30 01:42
牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX牛XXX
作者: tieniu520a    时间: 2022-2-23 14:53
黑色№ 发表于 2021-2-4 18:20
有意思,但不知道golang跑Windows平台性能会不会掉,最近在用golang重写精易模块,有兴趣可以一起交流 ...

我也在用 go,可以一起交流,我的QQ 2801505615
作者: 遗忘的旧时光    时间: 2022-3-21 21:24
先锋小七 发表于 2021-1-24 10:02
同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C ...

好久没看到你了我的哥
作者: demo1    时间: 2022-4-28 12:48
大哥为啥我编译dll报错呢
作者: nuan1989    时间: 2023-1-27 12:26
黑色№ 发表于 2021-2-4 18:20
有意思,但不知道golang跑Windows平台性能会不会掉,最近在用golang重写精易模块,有兴趣可以一起交流 ...

牛掰. 有没qq群, 拉我下qq  703973110
作者: qsmoon    时间: 2023-10-29 12:11
使用 go语言 golang 编译 dll 给易语言使用
作者: 821896022    时间: 2023-11-3 14:43
成功了一次,后边就提示# runtime/cgo cc1.exe: sorry, unimplemented: 64-bit mode not compiled in这个。真是奇怪啊
作者: tk1399484    时间: 2023-11-3 14:58
先锋小七 发表于 2021-1-24 10:02
同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C ...

请教一下.go中的 []byte 类型变量 func的返回值应该填写什么 返回给易语言使用呢?
作者: 精国软件    时间: 2024-2-14 16:46
先锋小七 发表于 2021-1-24 10:02
同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C ...

你后面说的这个返回多个参数值怎么弄,另外怎么易语言怎么。传递字节集。返回字节集?
作者: 为了生活    时间: 2024-2-19 23:15
黑色№ 发表于 2021-2-4 18:20
有意思,但不知道golang跑Windows平台性能会不会掉,最近在用golang重写精易模块,有兴趣可以一起交流 ...

老哥  现在都是go语言开发了么
作者: 黑色№    时间: 2024-2-20 09:05
为了生活 发表于 2024-2-19 23:15
老哥  现在都是go语言开发了么

转GO四年了
作者: 为了生活    时间: 2024-2-20 14:05
黑色№ 发表于 2024-2-20 09:05
转GO四年了

厉害了,之前说要用go复写一个精益模块命令的  实现了么
作者: 黑色№    时间: 2024-2-21 09:25
为了生活 发表于 2024-2-20 14:05
厉害了,之前说要用go复写一个精益模块命令的  实现了么

常用功能实现了
作者: lhjjx    时间: 2024-3-4 01:04
看看大佬的,是不是我想要的

作者: chis777780    时间: 2024-3-28 00:24
感谢分享,很给力!~
作者: kangji    时间: 2024-4-11 10:16
看看大佬的,是不是我想要的
作者: kangji    时间: 2024-4-11 10:16
感谢分享,很给力!~
作者: as59564143    时间: 2024-4-30 16:37
请问  参数里有个回调函数指针   让易语言调用 添加个回调函数   go代码怎么写呢

作者: domingo    时间: 2024-6-12 15:49
先锋小七 发表于 2021-1-24 10:02
同道中人也,楼主踩的坑我全踩过。。。不过楼主有一些没提到的也很重要,就是go源文件格式,包括 import "C ...

后面一段没看懂,要是大佬有里子就更好了
作者: sdlovets    时间: 2025-3-1 15:37
学习一下




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