문자열에 "ABCDEFG"
이 포함 된 메모리에 할당되어 있지만 포인터가 'E'
인 경우를 가정 해 보겠습니다. win32에서 () 내에있는 포인터가 있지만 그 블록을 해제 할 수 있습니까? 모든 할당 방법이 작동하지만 Heap*
함수는 저항이 가장 적은 경로가됩니다.오프셋 포인터를 사용하여 메모리를 비울 수 있습니까?
네이티브 솔루션이 아닌 경우이 기능을 제공하는 맞춤 메모리 관리자가 있습니까?
편집 : 이것은 엉성한 표현이 아닙니다. 나는 100 % 컴파일 타임 메타 데이터를 사용하는 자동 메모리 관리 시스템을 개발 중이다. 이 이상한 요구 사항은 작동시키는 방식으로 서있는 유일한 것으로 보이며 심지어 배열 (슬라이스 가능)을 기반으로하는 데이터 유형에만 필요합니다.
(a) 순차 스캔의 성능과 (b) 메모리에서 찾은 패턴이 실제로 가드 블록이라는 것을 확신하기 가드 블록으로 다시 스캔하는 것은 좋지 않습니다. 블록 할당의 시작 주소를 추적하는 것이 유일한 합리적인 해결책이라는 사실에 동의 할 것입니다. –