为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕斯王 2023-06-26 16:54:37
我想将错误消息从 C 代码传递到 Go 堆栈。我如何使用输出参数来完成此任务?如果有人能帮助我,我真的很感激。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

任何 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()

}


查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信