我想將錯誤消息從 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 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消