0

我遇到了“编译运行时行为的抽象时间”的句子,这里什么是编译时抽象?我的猜测是,编译时抽象的含义是什么?

喜欢的语言,试图优化/做的事情,可以在编译时进行,并且只留下空间的东西,只能在运行时进行,

对于示例。 int a; a = 5; // 5可以在编译时指定为a(除非它是一个const),因为用户可能已经创建了程序,从命令行,stdin,fin等获得输入等

其中作为,诠释一个//可以在编译时完成的,因为你知道类型的时候了......

+0

背景是什么?即你在哪里读过这些内容? – 2012-02-26 17:06:33

+0

http://research.microsoft.com/en-us/um/people/emeijer/Papers/RDL04Meijer.pdf – howtechstuffworks 2012-02-26 17:10:50

+0

^第二段介绍 – howtechstuffworks 2012-02-26 17:11:09

回答

2

看来你是通过“编译时抽象”在

困惑

静态类型检查是程序的运行时行为的编译时抽象...

(引自论文“静态类型在可能情况下,动态类型在需要时”,你已经链接到您的评论)

如果单词“抽象”是由“近似”所取代,将会使更多的对你有意义吗?

给定类型为T的表达式E,我们可以说,T取代编译时接近的排序在运行时(评价Ë时)计算的值的。例如,假设你有一种类型的表达式[2 + 2 * 3] [整数] - 你可以说,“这个表达式的值为整数”。