我想将错误消息从 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()
}
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消