【发布时间】:2018-03-13 03:34:28
【问题描述】:
由于现有库和速度,我正在创建一个使用我用 C 编码的密码学的项目。在尝试与 Cgo 交互时,我在使用 C 中创建的 typedef 时遇到了一些问题。下面是一个示例:
typedef unsigned char ec_scalar[32];
我能够成功创建 ec_point 变量,并使用包含 ec_point* 的函数。但是,每当我尝试使用通过正常 ec_point 传递的函数时,我都会收到错误消息:
cannot use pk2 (type C.ec_scalar) as type *C.uchar in argument to _Cfunc_secret_to_public
我似乎也找不到可以轻松转换它的方法。我也不想重构我的代码来接收 ec_point*,因为 ec_point 已经是一个指针(因为它是一个 32 字符的数组)
【问题讨论】:
-
什么是
ec_scalar? -
对不起,我的意思是输入标量而不是点。