我知道这个问题似乎有点宽泛。我试着寻找答案,找不到太多。如果有人能描述或指出我正确的来源。
假设是基于字节码的解释器,通常的方法如下:
你有一个变量,程序计数器,它告诉你要执行的指令的索引。通常,您将该计数器增加 1,但在执行分支时,请将其设置为跳转的目标位置。
对于函数调用,您执行相同的操作,但您还将计数器的旧值加 1 推送到调用堆栈上。然后,当您执行返回指令时,您弹出堆栈的值并将计数器设置为该值。
我知道这个问题似乎有点宽泛。我试着寻找答案,找不到太多。如果有人能描述或指出我正确的来源。
假设是基于字节码的解释器,通常的方法如下:
你有一个变量,程序计数器,它告诉你要执行的指令的索引。通常,您将该计数器增加 1,但在执行分支时,请将其设置为跳转的目标位置。
对于函数调用,您执行相同的操作,但您还将计数器的旧值加 1 推送到调用堆栈上。然后,当您执行返回指令时,您弹出堆栈的值并将计数器设置为该值。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium