Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Programming languages “子程序”和“例程”是同一个概念吗?_Programming Languages_Computer Science_Subroutine_Routines - Fatal编程技术网

Programming languages “子程序”和“例程”是同一个概念吗?

Programming languages “子程序”和“例程”是同一个概念吗?,programming-languages,computer-science,subroutine,routines,Programming Languages,Computer Science,Subroutine,Routines,我在编程语言书籍中看到过子程序和例程。它们是相同的概念吗?sub是什么意思 我想除了下面的一个例子之外,你可能在计算机科学书籍中看到了很多例子 在第3.2.2节中,我们讨论了子程序上的空间分配 调用堆栈图3.1。每一个被称为例程的程序都会被赋予一个新的 堆栈顶部的堆栈帧或激活记录。这架 可能包含参数和/或返回值、簿记信息 包括返回地址和保存的寄存器、本地变量、, 和/或临时人员。当一个子例程返回时,它的帧将弹出 从堆栈中删除 谢谢。据我所知,子程序或例程只是程序运行的自足代码块或指令的名称。例如

我在编程语言书籍中看到过子程序和例程。它们是相同的概念吗?sub是什么意思

我想除了下面的一个例子之外,你可能在计算机科学书籍中看到了很多例子

在第3.2.2节中,我们讨论了子程序上的空间分配 调用堆栈图3.1。每一个被称为例程的程序都会被赋予一个新的 堆栈顶部的堆栈帧或激活记录。这架 可能包含参数和/或返回值、簿记信息 包括返回地址和保存的寄存器、本地变量、, 和/或临时人员。当一个子例程返回时,它的帧将弹出 从堆栈中删除


谢谢。

据我所知,子程序或例程只是程序运行的自足代码块或指令的名称。例如,在Ruby中,我们将调用子例程方法,而在JavaScript中,它们被称为函数

在您提供的编程语言语用学示例的上下文中,子例程似乎是要执行的操作的调用堆栈,堆栈中的每个项都是启动自己的自包含堆栈的例程。执行所有过程后,例程退出,子例程向下移动到下一个例程


对调用堆栈中发生的事情以及子程序是如何命名的有一个很好的高级解释。

这两个术语指的是同一件事:子程序是在例程中调用的例程。把它想象成一个主程序,一个内部有函数调用的例程,每个函数调用都是一个子例程。不过函数和例程之间几乎没有区别,您可以阅读更多内容

谢谢。如果您阅读了我刚刚添加的书的链接,那么子程序和例程在堆栈中都有一个框架。所以我认为它们是相同的概念。你同意吗?仔细阅读这段摘录,我明白你的意思。听起来子程序和例程是同一概念的不同名称。与韦恩·康拉德(Wayne Conrad)的上述评论不同,子程序这个术语似乎只是多年前的遗留物。子例程是在另一个例程中执行的例程。尽管如此,是的,我同意你的看法,子程序和例程是一样的。谢谢你的帖子和研究。这是很酷的东西。曾几何时,例程会应用于程序中的顶级代码。子例程是由顶级代码或其他子例程调用的代码位。