Biorąc pod uwagę następujący kod:W jaki sposób jest przydzielana dynamicznie przydzielona przestrzeń, gdy program jest przerywany za pomocą Ctrl-C?
#include <stdio.h>
int main()
{
int *p;
p = (int *)malloc(10 * sizeof(int));
while(1);
return 0;
}
Kiedy powyższy kod jest kompilowany i uruchomić, a zostanie przerwany, gdy w wykonaniu naciskając Ctrl + C, jak pamięć jest alokowana do p
uwolniony? Jaka jest rola systemu operacyjnego? A czym się różni od tego w przypadku C++, wykonanym za pomocą operatora new
?
System operacyjny odzyskuje wszystko po zakończeniu procesu, bez względu na sposób jego zakończenia. –
Co jest takiego specjalnego w 'Ctrl + C'? –
W jaki sposób system operacyjny odzyskuje pamięć? Dokładniej, jaki element systemu operacyjnego jest odpowiedzialny za to? – 4sh1sh