当前位置: 首页 > 面试题库 >

使用Go 1.7构建dll

公冶峰
2023-03-14
问题内容

有没有一种方法可以在Windows下针对Go v1.7生成dll?

我尝试了经典

go build -buildmode=shared main.go

但是得到

Windows / amd64不支持-buildmode = shared

更新
好的,我知道了。对于那些感兴趣的人:https : //groups.google.com/forum/#!topic/golang-
dev/ckFZAZbnjzU


问题答案:

从Go 1.10开始,Windows现在支持-buildmode = c-shared。

发行说明:https :
//golang.org/doc/go1.10#compiler

因此,现在编译为DLL是一种方法:

go build -o helloworld.dll -buildmode=c-shared

我相信这些标头仅与GCC兼容。如果只公开C类型,这应该不是大问题。我能够使LoadLibrary在没有标题的情况下在Visual Studio中工作。



 类似资料:
  • 问题内容: 我是Gradle新手。我想构建一个uberjar(AKA fatjar),其中包括项目的所有传递依赖项。我需要在“ build.gradle”中添加哪些行? 这是我目前拥有的:(我是从几天前的某个地方复制的,但是不要从那里收集。) 问题答案: 您是否尝试过 gradle食谱中 的fatjar示例? 您正在寻找的是gradle 的影子插件

  • 注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 本文介绍的内容将包括 : SOFAMosn 与 SOFAMesh 的关系 部署 SOFAMesh 至于 SOFAMesh 的使用跟 Istio 没有区别,只是截止本文发稿时 SOFAMosn 的流量管理只支持: 按 version 路由 按 weight 路由 按照特定 header 路由 其

  • 我开始学习AWS的CI/CD功能。到目前为止,我一直在基于microsoft/windowsservercore映像在Windows Server 2016本地创建docker映像,并手动将其推送到ECR(amazon容器注册表)。 在这一点上,我没有试图在CodeBuild中编译应用程序。我只是想建造容器。在本地,二进制文件位于子目录中,并复制到容器中。 CodeBuild项目失败,出现错误:无

  • 本文向大家介绍使用GruntJS构建Web程序之构建篇,包括了使用GruntJS构建Web程序之构建篇的使用技巧和注意事项,需要的朋友参考一下 大概有如下步骤     新建项目Bejs     新建文件package.json     新建文件Gruntfile.js     命令行执行grunt任务  一、新建项目Bejs 源码放在src下,该目录有两个js文件,selector.js和ajax

  • 请注意:在泽维尔的回答之后编辑的回答 我试图在Android Studio中为一个相同的应用程序项目使用不同的构建风格。然而,我似乎有一个可怕的时间配置它适当地工作。 步骤: null **我检查了分级设置,显然使用自动导入已经启用。尽管如此,对build.gradle文件进行更改不会自动更新构建变体。注意:我还尝试使用Build-Rebuild项目和/或Build-Make项目。我仍然必须关闭项

  • 当我使用API远程触发作业时,jenkins上的作业会说:“由远程主机IP启动”。但我的工作可能会因不同的原因和不同的来源而触发,所以如果我在詹金斯能看到一份工作并直接看到触发的原因,那就太好了。 我知道我可以传递一个字符串参数,然后在每个作业中查看参数-但这不是很明显。我希望在所有工作的列表中看到它。类似于:。 有什么办法可以做到这一点吗? 我注意到我们的发布作业采用了一个显示我想要的版本参数—