운영 체제에 따라 다릅니다. 어떤 사람들은 그것을 자유롭게하고 다른 사람들은 자유롭게하지 않습니다. 할당 된 것을 항상 명시 적으로 해제하는 것은 메모리가 아니라 모든 * 리소스를위한 것입니다. OS가 프로세스 종료시 모든 리소스를 해제하더라도 일반적으로 좋은 아이디어입니다. –
+0
모든 malloc은 프로세스의 주소 공간의 일부인 가상 메모리 영역의 크고 큰 부분을 만들고 있습니다. 실제 매핑은 메모리에 액세스 할 때까지 발생하지 않으며 프로세스가 종료되면 해당 매핑이 삭제됩니다 –
user3109672
A
답변
0
일반적으로 예. 긴 이야기는 네를 단축 시켰고, 해방되었습니다.
새 프로세스를 만들 때 OS가 특정 프로세스에 대한 메모리 블록을 할당하고 있습니다. 그 메모리 블록에서는 메모리 (함수, 시그니처, 변수 등)를 원하는 방식으로 할당합니다. 이것들은 다음의 도면으로 변환 :
프로세스가 종료되면, 메모리의 전체 블록이 재생된다. 재활용되는 동안 시간이 걸릴 수 있으며 다른 프로세스 시작이 매우 빨라서 다른 블록이 사용됩니다. 그렇지 않으면이 것이 사용됩니다.
운영 체제에 따라 다릅니다. 어떤 사람들은 그것을 자유롭게하고 다른 사람들은 자유롭게하지 않습니다. 할당 된 것을 항상 명시 적으로 해제하는 것은 메모리가 아니라 모든 * 리소스를위한 것입니다. OS가 프로세스 종료시 모든 리소스를 해제하더라도 일반적으로 좋은 아이디어입니다. –
모든 malloc은 프로세스의 주소 공간의 일부인 가상 메모리 영역의 크고 큰 부분을 만들고 있습니다. 실제 매핑은 메모리에 액세스 할 때까지 발생하지 않으며 프로세스가 종료되면 해당 매핑이 삭제됩니다 – user3109672