春源 發表於 2024-12-23 22:57:00

go语言写dll 给易语言调用

<h1 id="环境">环境</h1>
<ol>
<li>golang</li>
<li>gcc<br>
我gcc用的链接(sjlj):https://share.weiyun.com/7PNY3ab1</li>
</ol>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223224508624-226129499.png" alt="" loading="lazy"></p>
<p>自行添加到环境变量中<br>
<img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223224551534-1039434337.png" alt="" loading="lazy"></p>
<h1 id="编程一个go代码">编程一个go代码</h1>
<p><code>如要调用dll 初始化操作 init函数即可</code></p>
<pre><code class="language-mydll.go">package main

import "C"

// 一定要export 函数
//export Add
func Add(a int, b int) int {
        return a + b
}

func main() {

}

</code></pre>
<p><code>易语言只支持32位</code></p>
<ul>
<li>64位</li>
</ul>
<pre><code># 先设置编译环境
go env -w GOARCH=amd64
go env -w CGO_ENABLED=1
# 开始编译
go build -ldflags "-s -w" -buildmode=c-shared -o main64.dllmydll.go
</code></pre>
<ul>
<li>32位</li>
</ul>
<pre><code># 先设置编译环境
go env -w GOARCH=386
go env -w CGO_ENABLED=1
# 开始编译
go build -ldflags "-s -w" -buildmode=c-shared -o main.dllmydll.go
</code></pre>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225242484-635767416.png" alt="" loading="lazy"></p>
<h1 id="易语言调用maindll">易语言调用main.dll</h1>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225421958-1300041481.png" alt="" loading="lazy"><br>
<img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225451718-755083950.png" alt="" loading="lazy"></p>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225529972-2021081208.png" alt="" loading="lazy"></p>
<h2 id="静编">静编</h2>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225611938-91065436.png" alt="" loading="lazy"></p>
<h2 id="效果">效果</h2>
<p><img src="https://img2024.cnblogs.com/blog/3005444/202412/3005444-20241223225638627-294681335.gif" alt="" loading="lazy"></p>
<h1 id="其它参考链接">其它参考链接</h1>
<p>https://www.bilibili.com/video/BV1CC4y1X7CL/<br>
https://www.cnblogs.com/wtil/p/16904997.html</p>


</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18625231</p><br><br>
来源:https://www.cnblogs.com/code3/p/18625231
頁: [1]
查看完整版本: go语言写dll 给易语言调用