登录
首页 >  Golang >  Go问答

如何将错误消息从 C 传递到 Go?

来源:stackoverflow

时间:2024-04-30 18:42:29 327浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何将错误消息从 C 传递到 Go?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我想将错误消息从 C 代码传递到 Go 堆栈。我如何使用输出参数来完成此操作?

如果有人能帮助我,我真的很感激。


解决方案


任何 c 函数(甚至 void 函数)都可以多次调用 用于检索返回值(如果有)和 c errno 变量作为错误(使用 _ 跳过结果值,如果 函数返回 void)。

然后在你的 c 代码中,你所要做的就是设置“全局”errno 变量。

package main


// #include <errno.h>
// int fortytwo()
// {
//      errno = ENOENT;
//      return 42;
// }
import "C"
import "fmt"

func main() {

    n, err = C.fortytwo()
}

本篇关于《如何将错误消息从 C 传递到 Go?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>