2014-10-21 14 views
5

Trong ứng dụng của tôi, một tệp trên đĩa được tạo và bộ nhớ được ánh xạ với kích thước ban đầu. Nếu tôi áp dụng ánh xạ bộ nhớ thứ hai cho tệp, với kích thước lớn hơn, tệp sẽ mở rộng đến kích thước mới. Windows cho phép tôi làm điều này mà không có lỗi nhưng tôi không biết nếu nó thực sự kosher. Có vấn đề gì với ánh xạ bộ nhớ thứ hai với kích thước lớn hơn không?Làm sao để bộ nhớ ánh xạ một tệp lần thứ hai nhưng với kích thước lớn hơn?

+0

Bạn đặt câu hỏi là nếu có vấn đề với cùng một bộ nhớ được lập bản đồ hai lần trong một quá trình đơn lẻ hoặc bạn có lo lắng về điều gì đó khác không? – zch

+0

Câu hỏi đặt ra là nếu có bản đồ thứ hai với kích thước lớn hơn bản đồ đầu tiên thì sẽ ổn. Tôi sẽ làm rõ câu hỏi. – djcouchycouch

+13

Không, tôi không nghĩ một Rabbi sẽ chấp thuận. –

Trả lời

1

Các tài liệu CreateFileMapping đã cho biết:

Sau khi một đối tượng lập bản đồ tập tin được tạo ra, kích thước của tập tin không được vượt quá kích thước của đối tượng tập tin bản đồ; nếu có, không phải tất cả nội dung tệp đều có sẵn để chia sẻ.

Điều này có vẻ ngụ ý (vì không có nhược điểm hoặc giới hạn nào khác) là tác dụng phụ duy nhất của ánh xạ tệp lần thứ hai với kích thước lớn hơn là bản đồ đầu tiên sẽ không thể thấy toàn bộ điều (rõ ràng).

Các vấn đề liên quan