请教一个 Dll 的结构类型转换 VFP 的问题

回马枪 回马枪 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

' 首先定义三个结构类:MPZ、MPQ、MPF
Type MPZ ' multiprecision integer
mp_alloc As Long
mp_size As Long
mp_limb As Long
End Type

Type MPQ ' multiprecision rational
mp_num As MPZ
mp_den As MPZ
End Type

Type MPF ' multiprecision floating point
mp_prec As Long
mp_size As Long
mp_expt As Long
mp_limb As Long
End Type

'=== Integer 类型===
'initialize (reserve memory) for multiprecision integer
Declare Sub MPZinit CDecl Lib "gmp.dll" Alias "__gmpz_init" (X As MPZ)
'x = val(s$) number base b
Declare Sub MPZsetstr CDecl Lib "gmp.dll" Alias "__gmpz_set_str" (X As MPZ, s As Asciiz, ByVal b As Long)
'y = x
Declare Sub MPZset CDecl Lib "gmp.dll" Alias "__gmpz_set" (Y As MPZ, X As MPZ)
'y = x + z

如果转成 VFP 函数;
DECLARE MPZinit IN gmp.dll As __gmpz_init MPZ @X
DECLARE MPZsetstr IN gmp.dll As __gmpz_set_str MPZ @X, Asciiz @s, Integer b
DECLARE MPZset IN gmp.dll As __gmpz_set MPZ @Y, MPZ @X

那么 :MPZ、MPQ、MPF 的结构如何转换或定义?

谢谢
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
回马枪
VFP 2,750 成员 29,142 内容