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

无法将 big.Int 从 Go 序列化为 C++

无法将 big.Int 从 Go 序列化为 C++

Go
jeck猫 2023-07-26 15:21:26
我有以下 Golang 函数://export getBigIntfunc getBigInt() unsafe.Pointer {    return C.CBytes(big.NewInt(int64(7)).Bytes())}我试图从 C: 调用它    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贡献1921条经验 获得超9个赞

sizeof(byte_array)给出指针的大小(在本例中为 8),而不是数组的长度。该数组可能少于 8 个元素,导致您的程序出现未定义的行为。



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

添加回答

举报

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