小编gon*_*utz的帖子

何时在Go中刷新文件?

何时需要刷新文件?
我从来没有这样做,因为我调用File.Close,我认为它是自动刷新的,不是吗?

synchronization flush go

16
推荐指数
2
解决办法
1万
查看次数

从 Go 调用 COM 对象方法,无需使用 CGo

我在 Go 中创建了一个Direct3D9 包装器,它使用 CGo 与 C 中的 COM 对象进行交互。

我想摆脱 Windows 下对 C 编译器的依赖,这样用户就不必安装 MinGW 或 Cygwin 来使用 Go 中的 DirectX。

问题是 d3d9.dll 不公开 C 函数,而是使用 COM。syscall.LoadLibrary("d3d9.dll")加载 DLL(使用)后唯一可以直接调用的函数是Direct3DCreate9. 这将返回一个 COM 对象,该对象将所有功能公开为方法。

如何在没有 CGo 的情况下从纯 Go 调用 DLL 中的 COM 对象方法?

我知道Go-OLE库,它声明它无需 CGo 即可调用 COM 接口,但我无法从源代码中了解如何为 Direct3D9 做同样的事情。一个仅包含相关部分的简单示例会有很大帮助。

windows com dll go

6
推荐指数
1
解决办法
2371
查看次数

在代码注释中指定Go构建标志"-H = windowsgui"

我正在Go中创建一个桌面Windows应用程序.目前我用这行来安装它:

go install -ldflags -H=windowsgui

我希望用户能够说出来

go get github.com/my/app

并自动windowsgui为建筑指定标志.是否可以将标记添加为代码注释,如#cgo注释.或者我是否必须make在项目目录中提供一个文件,比如过去的Go?或者根本不可能?

windows go

5
推荐指数
1
解决办法
737
查看次数

标签 统计

go ×3

windows ×2

com ×1

dll ×1

flush ×1

synchronization ×1