CArchive 개체
개체는 CArchive
개체에서 직렬화할 수 있는 개체를 쓰거나 읽는 형식이 안전한 버퍼링 메커니즘을 CFile
제공합니다. 일반적으로 개체는 CFile
디스크 파일을 나타내며, 클립보드를 나타내는 메모리 파일(CSharedFile
개체)일 수도 있습니다.
지정된 CArchive
개체는 데이터를 저장(쓰기, 직렬화)하거나 데이터를 로드(읽기, 역직렬화)하지만 둘 다 저장하지는 않습니다. 개체의 수명은 파일에 개체를 CArchive
쓰거나 파일에서 개체를 읽는 한 번의 통과로 제한됩니다. 따라서 연속적으로 생성된 CArchive
두 개체는 데이터를 파일로 직렬화한 다음 파일에서 다시 역직렬화해야 합니다.
보관에서 개체를 파일에 저장하면 보관 파일은 개체에 CRuntimeClass
이름을 연결합니다. 그런 다음 다른 보관 파일이 파일에서 메모리 CObject
로 개체를 로드할 때 파생된 개체는 개체를 기반으로 CRuntimeClass
동적으로 재구성됩니다. 지정된 개체는 보관 파일을 저장하여 파일에 기록되므로 두 번 이상 참조될 수 있습니다. 그러나 로드 아카이브는 개체를 한 번만 다시 구성합니다. 보관이 개체에 정보를 첨부 CRuntimeClass
하고 개체를 재구성하는 방법에 대한 세부 정보는 가능한 여러 참조를 고려하여 Technical Note 2에 설명되어 있습니다.
데이터가 보관 파일로 직렬화되면 버퍼가 가득 찼을 때까지 보관이 데이터를 누적합니다. 그런 다음 보관 파일은 해당 버퍼를 개체가 CFile
가리키는 개체에 CArchive
씁니다. 마찬가지로 보관 파일에서 데이터를 읽을 때 파일에서 버퍼로 데이터를 읽은 다음 버퍼에서 역직렬화된 개체로 데이터를 읽습니다. 이 버퍼링은 하드 디스크를 물리적으로 읽는 횟수를 줄여 애플리케이션의 성능을 향상시킵니다.