cgo 相关问题

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

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

CGo:如何将 *** 字符从 C 传递到 Golang

我有一个 C API 函数,它返回 uint32_t 作为数组的大小并返回 ***char 我想了解使用 unsafe.slice 将 ***char 转换为字符串切片的步骤...

回答 1 投票 0

如何从Go函数返回C指针?

我有问题是否可以从 C 上的 Go 函数指针返回?例如 main.c 可以是: struct open_db_return db_ptr = open_db(db_path); GoSlice backet = {"DB", 2, 2}; GoSlice 键 = {"

回答 2 投票 0

使用 libfaiss_c.a 时,FAISS CGO 抛出“架构 arm64 的未定义符号”

我正在尝试编写一个独立的go-faiss包装器来调用FAISS的KMEANS函数。 仓库:https://github.com/arjunsk/faiss-cgo-kmeans 这种方法的灵感来自 https://github.com/

回答 1 投票 0

在Mac上为Android交叉编译“Hello World”

我正在尝试建立一个标准的“Hello, World!” Android 的命令行可执行文件。可执行文件将通过 adb shell 运行。 0.Go(Golang)源码 包主 进口 ( “FMMT” ) 功能我...

回答 4 投票 0

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