CMemFile

CMemFileคือการCFile-คลาสที่สนับสนุนแฟ้มหน่วยความจำมา แฟ้มเหล่านี้หน่วยความจำทำงานเหมือนกับแฟ้มบนดิสก์ยกเว้นว่าแฟ้มจะถูกเก็บไว้ ใน RAM ไม่ใช่ บนดิสก์ หน่วยความจำจะมีประโยชน์ สำหรับเก็บข้อมูลชั่วคราวอย่างรวดเร็ว หรือ การถ่ายโอนดิบไบต์ แบบแบบอนุกรมของวัตถุที่อยู่ระหว่างกระบวนการอิสระ?

CMemFileวัตถุสามารถจัดสรรหน่วยความจำของตนเองโดยอัตโนมัติ หรือคุณสามารถแนบบล็อกหน่วยความจำของคุณเองไปยังวัตถุCMemFileได้ โดยการเรียกการแนบ ในกรณีใด หน่วยความจำสำหรับการเติบโตแฟ้มของหน่วยความจำโดยอัตโนมัติถูกปันส่วนในnGrowBytes-ขนาดน้อยถ้าnGrowBytesไม่เท่ากับศูนย์?

บล็อกหน่วยความจำจะโดยอัตโนมัติถูกลบเมื่อทำลายวัตถุCMemFileหากหน่วยความจำถูกปันส่วนเดิม โดยวัตถุCMemFile มิฉะนั้น คุณรับผิดชอบสำหรับหน่วยความจำคุณแนบกับวัตถุ deallocating?

คุณสามารถเข้าถึงบล็อกหน่วยความจำผ่านตัวชี้ที่ให้มาเมื่อคุณแยกได้จากวัตถุCMemFileโดยการเรียกการแยกออก?

CMemFileการใช้บ่อยที่สุดคือการ สร้างวัตถุที่CMemFileและใช้ โดยการเรียกฟังก์ชันสมาชิกCFile หมายเหตุว่า การสร้างแบบCMemFileโดยอัตโนมัติเปิด: คุณไม่เรียกใช้CFile::Openซึ่งใช้เฉพาะสำหรับแฟ้มบนดิสก์ เนื่องจากCMemFileไม่ใช้แฟ้มดิสก์ สมาชิกข้อมูลCFile::m_hFileไม่ได้ใช้ และมีความหมายไม่?

ฟังก์ชันสมาชิกCFileซ้ำ LockRangeและUnlockRangeจะไม่ถูกนำมาใช้สำหรับCMemFile ถ้าคุณเรียกใช้ฟังก์ชันเหล่านี้บนวัตถุCMemFileคุณจะได้รับการCNotSupportedException?

CMemFileใช้ฟังก์ชันต่าง ๆ ของไลบรารีรันไทม์ malloc, reallocและ ฟรีการปันส่วน ปัน และ deallocate หน่วยความจำ และแท้จริง memcpyการจำคัดลอกบล็อกเมื่ออ่าน และเขียน ถ้าคุณต้องการเปลี่ยนลักษณะการทำงานหรือการทำงานเมื่อCMemFileขยายแฟ้ม ชั้นของตนเองที่ได้สืบทอดมาจากCMemFileและแทนที่ฟังก์ชันเหมาะสม?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับCMemFileดูบทความ แฟ้มใน MFCและ ในVisual c ++ Programmer ของคู่มือและดูของหัวข้อการจัดการหน่วยความจำ (MFC) การจัดการแฟ้มในการอ้างอิงไลบรารีรันไทม์?

#รวม lt;afx.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

Index