执行程序

时间:2018-03-17 22:57:46

标签: java c++ vba

我对程序的执行有疑问。例如,在C ++中,程序正在逐行执行,直到它到达结尾(返回0;或者只是到达main函数范围的末尾)。在具有文本界面的程序中,如果我想重复该程序,直到用户例如点击[Esc]键,我将其放入正在执行的循环中,直到发生特定的一种情况。在GUI程序(精确地:WinAPI)中也是如此,程序循环通过事件循环,直到例如用户点击“X”然后程序到达主函数的末尾,因此程序的执行停止。到目前为止一切都很好。

让我感到惊讶并让我夜不能寐的事实是,当我创建一个JFrame对象时,初始化它并让它发生只是为了显示它,当程序执行到达主函数范围的末尾时,窗口仍然存在。我还在调试器中检查过它没有显示实际执行的行。它清楚地表明线程执行已经完成。我确信执行没有被冻结所以必须在引擎盖下发生一些事情,因为我仍然可以调整大小,关闭窗口等等。所以这就是我的问题:在显示Java窗口时,实际上是在执行一个程序“移动到”?

VBA也发生了同样的事情。我在模块中创建了一个main函数,然后在那个模块中我强制显示一个非模态形式,一旦函数执行完毕,窗口就不会消失,但是函数中声明的变量是的,所以对他们的访问也消失了。

在C / C ++的两个例子中,那些情况都意味着,程序已经完成,但是那个窗口是可见的,所以应用程序实际上没有停止,对吧?

0 个答案:

没有答案