![](/img/trans.png)
[英]In a c program, does the whole process terminates when the main thread terminate?
[英]C program execution: Does it run in a process or a thread?
我使用代码块在C中运行一个示例hello world程序。
执行该命令时, the process returned 0
。
我知道它是由操作系统运行的。
我想知道几件事:
我执行的程序是否与单独的进程相关联,或者操作系统为其分配了单独的线程?
在Windows 32位或64位中调用函数时,代码段寄存器是否也被压入堆栈?
问题的答案取决于您如何看待流程。
在传统的流程模型中,流程是具有地址空间的可调度实体,您会说程序执行了一个流程。
如果您希望将这种传统模型视为具有单个线程的进程,则您的程序将在线程上运行。
这只是文字游戏。
如果在运行本机调度线程的系统上运行,则您的程序存在于一个包含执行线程的线程的进程中。
没有64位段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.