C 为脚本语言选择正确的数据类型

C 为脚本语言选择正确的数据类型,c,types,int64,C,Types,Int64,我正在编写一个与“C”非常相似的脚本语言解释器,不同之处在于数值变量的数据类型较少,只有int(表示int数据类型)和real(显然是实数…) 解释器是一种“虚拟机”(是的,脚本语言被编译成字节码流),现在我需要决定脚本语言在虚拟机中使用什么C数据类型。现在我正打算使用 INT64的 int >和 long double > Reale s,但是我想听听您的意见,如果您考虑这两个,漂亮的“大”将有任何性能问题,如果我需要在嵌入式硬件上运行解释器,它会有问题吗?它只有32位体系结构。是的,

我正在编写一个与“C”非常相似的脚本语言解释器,不同之处在于数值变量的数据类型较少,只有
int
(表示int数据类型)和
real
(显然是实数…)


解释器是一种“虚拟机”(是的,脚本语言被编译成字节码流),现在我需要决定脚本语言在虚拟机中使用什么
C
数据类型。现在我正打算使用<代码> INT64的 <代码> int <代码> >和<代码> long double <代码> > <代码> Reale s,但是我想听听您的意见,如果您考虑这两个,漂亮的“大”将有任何性能问题,如果我需要在嵌入式硬件上运行解释器,它会有问题吗?它只有32位体系结构。

是的,当然,使用非常大的类型会对语言的执行成本产生(巨大)影响

许多嵌入式平台在硬件上没有浮点运算,而那些有浮点运算的平台通常只有
浮点
,甚至没有
双精度
。integer也是一样,很多平台都是32位的


您将不得不退回到这些功能的软件模拟,这将使执行在速度和所需代码量方面都非常昂贵。

Ok。。。在这种情况下,我想我会在字节码流中指定“立即”值的类型(取决于它的值……将增加字节码生成/解释的额外复杂性),在“虚拟机”中考虑到这一点并使用相应的类型。谢谢