我一直在阅读关于执行模型的维基百科文章,其中说:
执行模型指定了如何进行工作。每种编程语言都有一个执行模型,它被指定为语言规范的一部分,我作为语言实现的一部分实现。
是否类似于printf的本机实现?任何人都可以澄清一下吗?
答案 0 :(得分:2)
以下是我能够为您搜索的不同语言执行模型的几个描述。它是关于如何为最终执行而不是功能实现构建软件。
Java的程序执行模型分为两个不同的阶段 - 汇编, 字节码执行。 这两个阶段彼此没有直接关系。事实上,大多数情况下,第二步发生在不同的机器上,通常在第一步后很长时间。
http://codingraptor.com/java/compile-run-wora/
实际上,PHP执行模型非常简单,并且遵循类似cgi的模型。它只是将php文件作为它的输入,解析并解释它,然后返回输出脚本产生的内容,将其作为响应传递回apache,返回给请求用户(浏览器)。
https://blog.xoxzo.com/2012/05/02/php-execution-model-vs-python-web/
答案 1 :(得分:0)
执行模型只是赋予编程语言以含义。
当您将球扔过一个房间时,您可以预测会发生什么,因为您的脑海中有了实体世界的模型。同样,当您运行以编程语言编写的代码时,可以预测会发生什么,因为您已经掌握了该语言的模型。这是该语言的一种执行模型。这与语言的语法不同,后者仅定义构成有效程序的语言。
语言的执行模型是该语言功能的权威规范。该规范可以是正式文档,手册,也可以只是参考实现。
例如,深奥的语言brainfuck具有特别简单的执行模型:
<
和>
分别将指针向左和向右移动; +
和-
分别将当前单元格的值增加和减少1; .
输出当前单元格的值; ,
接受一个输入字符并将其写入当前单元格; [
跳转到匹配的]
之后的字符; ]
跳回到匹配的[
。这是足够的信息,可以预测在给定特定输入的情况下任何脑力激荡程序将执行的操作,并为该语言实现编译器或解释器。