2010-11-18 5 views
0

아마 내가 메모리 맵핑 된 파일이 어떻게 작동하는지에 대해 근본적으로 오해했습니다.하지만 MemoryMappedFile을 사용할 때 파일 끝에 추가하는 방법은 무엇입니까? CreateViewAccessor를 사용하면 파일의 현재 용량을 볼 수만 있습니다.MemoryMapped 파일에 추가 하시겠습니까?

대신 기본 FileStream을 사용하여 끝에 쓸 수는 있지만 MemoryMapping을 사용하는 목적을 달성하지 못합니까? (나는 캐시하고 디스크에 appending을 쓸 것이라고 생각했다.) 또 다른 옵션은 추가 데이터에 대한 메모리 스트림 대신 캐시에서 쓰기 및 읽기를 캐시하는 것입니다.

는 그냥 일반적인 관행 메모리 매핑 파일이 해당 내가 다시 한번 당신은 크기가 한 번 메모리 맵을 생성 변경할 수 없습니다

답변

0

바퀴를 개혁하고 있지 않다 그래서 성장하고있어 작업을위한 무엇인지 궁금. 지도를 만들 때 크기를 지정할 수 있습니다. http://msdn.microsoft.com/en-us/library/dd987389.aspx

메모리 매핑은 일종의 고급 I/O 기술입니다. (1) 네이티브 라이브러리에서 필요하지 않으면 사용하지 마십시오. (2) 성능이 중요한 환경에서 임의 액세스가 필요합니다. 두 경우 모두 네이티브 (기계 수준) 함의를 이해하지 않고 사용하면 안됩니다.