程序是由OS还是IDE执行的?

时间:2015-09-18 10:20:20

标签: visual-studio visual-studio-2010 visual-studio-2012 memory operating-system

例如: 使用Visual Studio 2013(F5)执行编译后的.c程序。 VS参与执行程序吗? .c程序是否在Visual Studio程序获取的内存中运行?或者操作系统会分配不同的内存部分。如果是这样,执行时VS是不在图片中了吗?

1 个答案:

答案 0 :(得分:0)

“.c”文件被编译为Windows上的PE可执行文件。这些是具有典型“.exe”文件扩展名的常用程序。

在Visual Studio中按F5时,它会使用WinAPI(例如CreateProcess)启动此可执行文件。这些WinAPI调用进入操作系统,该操作系统创建具有自己的虚拟地址空间的新进程。 VS不为可执行文件分配内存。

然后,

VS将在启动程序之前作为调试器附加。因此,在执行时它不会“脱离图片”,因为它在运行时仍会影响程序。