我有以下 Golang 函數(shù)://export getBigIntfunc getBigInt() unsafe.Pointer { return C.CBytes(big.NewInt(int64(7)).Bytes())}我試圖從 C: 調(diào)用它 uint8_t *byte_array = (uint8_t *)getBigInt(); for (int i = 0; i < sizeof(byte_array); ++i) { std::cout << (int)byte_array[i] << std::endl; }然而,我得到的是輸出 0..., 7 :700000032
1 回答

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
sizeof(byte_array)
給出指針的大?。ㄔ诒纠袨?8),而不是數(shù)組的長(zhǎng)度。該數(shù)組可能少于 8 個(gè)元素,導(dǎo)致您的程序出現(xiàn)未定義的行為。
- 1 回答
- 0 關(guān)注
- 109 瀏覽
添加回答
舉報(bào)
0/150
提交
取消