我想將錯誤消息從 C 代碼傳遞到 Go 堆棧。我如何使用輸出參數(shù)來完成此任務(wù)?如果有人能幫助我,我真的很感激。
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗 獲得超4個贊
任何 C 函數(shù)(甚至 void 函數(shù))都可以在多重賦值上下文中調(diào)用,以檢索返回值(如果有)和 C errno 變量作為錯誤(如果函數(shù)返回 void,則使用 _ 跳過結(jié)果值)。
然后在你的 C 代碼中你所要做的就是設(shè)置“全局”errno 變量。
package main
// #include <errno.h>
// int fortytwo()
// {
// errno = ENOENT;
// return 42;
// }
import "C"
import "fmt"
func main() {
n, err = C.fortytwo()
}
- 1 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消