Tôi muốn tạo một tệp nhị phân được ánh xạ vào bộ nhớ; tuy nhiên tôi không chắc chắn làm thế nào để tạo ra các tập tin được ánh xạ vào hệ thống. Tôi đọc tài liệu nhiều lần và nhận ra có 2 tệp triển khai được ánh xạ, một tệp trong iostream và một trong interprocess.Có sự khác biệt nào giữa tệp iostream được ánh xạ và tăng tệp ánh xạ interprocess không?
Các bạn có biết cách tạo một tệp ánh xạ vào bộ nhớ dùng chung không? Tôi đang cố gắng để cho phép một chương trình đa luồng để đọc một mảng lớn gấp đôi được viết bằng một định dạng tập tin nhị phân. Ngoài ra sự khác biệt giữa các tập tin được ánh xạ trong iostream và interprocess là gì?
Cảm ơn Joe đã làm rõ, tôi sẽ thử dùng iostream. – Yijinsei
@ Joe D: đó không phải là ấn tượng tôi nhận được từ thư viện interprocess. Cụ thể, từ tài liệu: "hệ thống tạo một ánh xạ tệp để liên kết tệp và không gian địa chỉ của quá trình." Đối với nhiều quy trình, về cơ bản nó chia sẻ bộ nhớ với một bản sao lưu hệ thống tập tin. – rcollyer
Có, nhưng thư viện interprocess, không tạo bản sao lưu hệ thống tệp, nó chỉ đơn giản là ánh xạ tệp trong bộ nhớ chia sẻ liên bộ. Tuy nhiên iostreams, sẽ ánh xạ nó vào bộ nhớ cho một quá trình duy nhất. Mà có lẽ là (tôi đã không kiểm tra việc thực hiện) hiệu quả hơn. –