我使用代码块在C中运行示例hello world程序。
执行时会显示the process returned 0
。
我知道它是由操作系统运行的。
我想知道一些事情:
我执行的程序是否与单独的进程关联,或者操作系统是否为其分配了一个单独的线程?
在Windows 32位或64位中调用函数时,代码段寄存器是否也被推送到堆栈?
答案 0 :(得分:0)
您的问题的答案取决于您查看流程的方式。
在传统流程模型中,流程是具有地址空间的可调度实体,您可以说您的程序执行了流程。
如果你想把这个传统模型看作一个有一个线程的进程,那么你的程序就会在线程上运行。
这只是一个文字游戏。
如果您在本机调度线程的系统上运行,那么您的程序存在于包含执行发生的线程的进程中。
64位没有段。