|
아제나님의 답글에는 '메모리에 남아있는 정보'가 초기화 되지 않고 실행파일로 쓰여졌다.
라고 되어있는데, 컴파일러/링커 구현에 따라서 메모리를 거치지 않고 디스크에 직접 기록할수도 있을 것입니다.
예를들면 1기가가 되는 파일을 기록할때는 시간이 많이 걸리지만, 지울때는 순식간입니다.
이건 헤더만 날려버리고 실제 데이터는 지우지 않기 때문인데요..
이 영역을 공개 컴파일러가 이용해서 그럴수도 있습니다.
코드로 치면..
fwrite(실행명령어들)
fseek(static 데이터 800바이트 만큼 건너띄기)
fwrite(데이터들)
좋은 방향으로 생각하면 컴파일러 개발자가 초기화 값 부분의 프라이버시를 생각하지 않는 경우인것이고,
나쁘게 생각하면 디스크에서 txt를 서치해서 실행파일에 붙여버린다고 생각할수도 있겠네요
이 답글은 전자인 경우에 한한거죠 ;
후자인지 의심이 가시면 컴파일러 이름과 다운받을 수 있는 URL을 알려주시는것이 좋을것 같습니다.
늙은 초보 님이 쓰신 글 :
: 야한 소설얘기까지 하시니까 좀 이해가 가는군요.
: 메모리의 어딘가 남아있던 것이 초기화에 쓰일수도 있겠죠.
: ...
: ..
: 하지만, 제가 본 실행파일 내용중엔 몇개월인지 모를 오래전에 작성하거나 본 파일 내용도 있더군요. 몇개월동안
: PC를 계속 켜놓지는 않았는데 말이죠... 그건 또 이렇게 설명되나요. 메모리 페이징하는 스왑파일에 남아있다가
: 사용되는 걸까요 ?
|