c++ - 当我们说操作系统的控制在程序执行时传递给 main() 函数时,我们是什么意思?

标签 c++ c operating-system program-entry-point

假设我们正在尝试运行任意程序 -

int main()
{
statement 1;
statement 2;
statement 3;
}

然后人们常说,在程序执行的过程中,操作系统的控制权被传递给了main()函数,在执行完main函数中的所有语句之后,控制权再次交还给操作系统。

控制是什么意思?如果控制真的从操作系统传递给程序那么多个程序如何同时运行?

最佳答案

“控制”是“执行语句的能力”的简称。

在你的程序运行之前,操作系统会执行语句将你的程序代码加载到内存中,而你的程序没有执行语句的能力(即没有控制权)。

一旦您的程序加载并准备好运行,操作系统就会为您的程序代码提供执行语句的能力,从 main() 函数开始。此时启动程序的操作系统代码等待它完成,即不再有控制权。

关于c++ - 当我们说操作系统的控制在程序执行时传递给 main() 函数时,我们是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875850/

相关文章:

c - 长字符串中的段错误

c - 如何在 C 中以正确的方式从二进制结构中打印位域?

c - 使用 open() 和 close() 重定向输入

android - 如何禁用android设备的usb端口

c - 子僵尸进程的 setpgid 提供 ESRCH 而不是 EACCES?

c++ - 这种立即使用且未定义的宏有什么缺点?

c++ - 处理 COM 相关错误的有效方法 (C++)

c++ - 无法在 C++ 项目中链接 crypt

c++ - OpenCV(C++) 和 Matlab 中的矩阵掩蔽操作

c - 我正在尝试编写一个函数,从给定的链表中删除所有奇数元素,并返回一个地址