关于sub子程序与call调用
答案:2 悬赏:70 手机版
解决时间 2021-02-01 11:15
- 提问者网友:几叶到寒
- 2021-02-01 01:23
关于sub子程序与call调用
最佳答案
- 五星知识达人网友:玩世
- 2021-02-01 01:46
代码一行一行运行,并不意味着就走一步算一步,程序是个整体,是个工程(这也就是为什么VB中对一套程序的整体称为工程)。程序在运行的时候,系统会把程序整体调入内存,然后对程序进行初步分析,为子过程、自定义函数等建立调用接口,并且初步检测程序中的逻辑错误,有错就提示并退出,检测通过这才开始真正运行,所以子程序与调用语句不存在谁先谁后的问题。
不过在脚本型程序(如VBScript)中,的确存在子程序与调用语句的先后问题,把调用语句放在子程序的前面有可能会造成调用失败(尤其是当子程序中调用了网页中的元素的情况下),遇到这种情况,可以把调用语句放到onload事件中来解决。
目前的编程语言都是结构化编程语言,代码都要放在子模块中运行,而各个子模块之间是没有前后顺序之分的,比如你在VB中把各个事件、子过程、自定义函数的顺序随意打乱,程序仍然是可以执行的。
最重要的一点,程序最终的目的是要编译为可执行文件的(脚本除外),这时候都是机器码了,不存在所谓一行行的代码了,也就更不可能有谁先声明谁后定义的问题了
不过在脚本型程序(如VBScript)中,的确存在子程序与调用语句的先后问题,把调用语句放在子程序的前面有可能会造成调用失败(尤其是当子程序中调用了网页中的元素的情况下),遇到这种情况,可以把调用语句放到onload事件中来解决。
目前的编程语言都是结构化编程语言,代码都要放在子模块中运行,而各个子模块之间是没有前后顺序之分的,比如你在VB中把各个事件、子过程、自定义函数的顺序随意打乱,程序仍然是可以执行的。
最重要的一点,程序最终的目的是要编译为可执行文件的(脚本除外),这时候都是机器码了,不存在所谓一行行的代码了,也就更不可能有谁先声明谁后定义的问题了
全部回答
- 1楼网友:千杯敬自由
- 2021-02-01 03:06
个人理解:
当执行到 Call 语句的时候,程序会自动寻找该过程,并跳转。
当执行到 Call 语句的时候,程序会自动寻找该过程,并跳转。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯