cgo 相关问题

Cgo支持创建调用C代码的Go包。

使用 webview/webview_go 在 Golang 程序上添加图标

我一直在尝试向 go build 生成的可执行文件添加图标。在内部,此可执行文件使用 webview/webview_go。 我使用 Windres 从以下 .rc 文件生成 .syso 文件 #

回答 1 投票 0

为什么 cgo 生成“C”警告消息,但纯“C”等价物却不会?

为什么我使用 cgo 在 Windows 上编译以下非常简单的使用 Mediainfo.dll 的应用程序: 包主 // #cgo CFLAGS: -DUNICODE // #cgo CFLAGS: -I./MediaInfoDLL // #cgo LDFLAGS: -L./

c go cgo
回答 1 投票 0

使用runtime.Pinner将二维数组从Go传递到C

我试图将 2d 数组从 Go 传递到某个 C 函数 void foo(in **float, out *double)。因为我想要这个 C 函数的包装器,所以我希望 Go 函数具有像 func FooWr 这样的定义...

c go cgo
回答 1 投票 0

如何在Go和C函数之间传递Go实例?

我想将 Go 实例作为参数传递给 C 的每个调用,如下面的代码。 我只想将指向 http.Client 实例的指针作为我的 C 代码中的不透明指针进行操作。 我有几个问题...

回答 1 投票 0

cgo:使用cgo在包中包含C头文件时如何防止“多重定义...”错误?

我正在编写一个本机库,它使用 cgo 提供 C api。我有一个包含常量定义的 C 头文件,但是当我使用 cgo 将其包含在包中,然后导入此包时...

回答 1 投票 0

在cgo中不显示printf结果

当我运行这段代码时,我期望打印像 A: 4, B: 89 这样的结果。 但实际上,什么也不显示。 为什么这个程序不将结果显示到标准输出? main.go: 包主 /* #包括...

c go cgo
回答 3 投票 0

如何将[1024]C.char转换为[1024]byte

如何转换这个C(数组)类型: char my_buf[BUF_SIZE]; 到这个Go(数组)类型: 类型缓冲区 [C.BUF_SIZE]byte ?尝试进行接口转换时出现此错误: 无法转换(*

回答 2 投票 0

在CMake中迭代依赖图以生成用于CGO的链接库文件列表

我想迭代目标目标的所有链接库,以构建目标链接到的所有库二进制文件(静态库)的列表,例如 add_executable(exe main.cpp) 目标_链接_库...

回答 1 投票 0

神秘错误:“cgo 参数具有指向未固定 Go 指针的 Go 指针”

我收到此错误,即使在阅读文档后我也不明白它的含义。事实上,我确实认为我理解了它,但它不适合我发生的方式。那...

回答 1 投票 0

使用 ucontext 的 Golang+CGO 崩溃(故意)在使用不同堆栈时使用 SIGSEGV 或 SIGTRAP 崩溃

我目前正在编写Golang + CGO程序,并将在CGO中使用posix ucontext。由于我所有的核心逻辑都将在ucontext的bind函数中,所以我们应该捕获所有错误的代码。我测试我...

回答 1 投票 0

如何在cgo加载库之前调用SetDefaultDllDirectories?

我想保护我的 go 应用程序免受 dll 劫持。我加载的一些 DLL 很容易受到攻击,因此首先在本地路径 (./) 中查找系统 DLL(例如 winmm.dll)。为了防止这种情况,我首先在 main() 中调用它

回答 1 投票 0

分配 C 内存来保存 Go 结构是否是 cgo 支持的用例?

我一直在探索不将嵌套的 go 指针传递到 C 中的策略。下面是我如何尝试分配 C 内存块以保存 Go 结构的示例: (*

回答 1 投票 0

CGO在GO语言进程中调用C++动态SO库时如何获取try和catch异常?

我正在编写一个Go程序,在这个程序中我使用cgo来调用用C++编写的动态库(`.so)来处理通信协议。 C++ 库中的代码可能会抛出异常,所以我...

回答 1 投票 0

A C(***void类型)走,为什么地址不相等

我参加测试: 首先我有一个 C 函数 变量初始化: numRows、numCols 和 numDeps 分别初始化为值 3、5 和 2。 这些变量代表 3D 的尺寸...

回答 1 投票 0

如何调用修改Go内存的C函数?

假设我有一个带签名的 C 函数 // myclib.h 无效修改(双* ptr,int N); 它改变参数指针 ptr 指向的内存。 以下代码是否安全...

回答 1 投票 0

cgo **字符对字符串进行切片

我使用cgo开发了一个pam模块。 无法转换为 []string a ** char func pam_sm_authenticate(pamh *C.pam_handle_t, 标志 C.int, argc C.int, argv **C.char) int { fmt.Pri...

回答 1 投票 0

有没有办法从 Microsoft Visual Studio C++ 调用 go 代码?

有没有办法从 Microsoft Visual Studio C++ 调用 go 代码? 请不要随意关闭我的问题。 此链接如何使用 Visual Studio 编译器使用 cgo 构建库?没有回答...

回答 2 投票 0

使用“go build”或“go run main.go”运行时出现“pkcs11.h”问题

我正在制作一个使用 PKCS11 的 CGO 代码,在启用 CGO 和一些错误、测试和更正之后,我发现了一个我从未见过的新错误。我使用“go build”或&qu...

回答 1 投票 0

如何将 *** 字符从 C 传递到 Go

我有一个 C API 函数,它返回一个 uint32_t 作为数组的大小并返回一个 ***char。请注意,C API 函数来自第三方库。具体来说,C API 函数实现...

回答 1 投票 0

交叉编译时动态链接Go程序

如何交叉编译Go程序并仍然保留libc的动态链接? 上下文:编译主机是macOS M1,目标是Linux amd64。默认结果是静态链接。不过我还是...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.