Wie kann ich mmap verwenden, um Speicher innerhalb einer virtuellen Ramdisk zu reservieren? Können sagen, ich mache:Erstellen Sie mmap innerhalb der virtuellen Ramdisk
mkdir /mnt/ramdisk
mount -t tmpfs -o size=10m tmpfs /mnt/ramdisk
ich jetzt einen virtuellen RAM-Disk, aber wie ordne ich es in meinem C-Programm?
int main() {
// ....
addr = mmap(/* ramdisk address? */, size, PROT_READ_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
Wenn Sie eine RAM-Disk verwenden, würde die Verwendung von 'mmap' nur Overhead auslösen. Warum nicht 'fopen' benutzen? – Dai
@Dai Ich benutze mmap als eine Möglichkeit, eine Region von Speicher für meine Bibliothek zu reservieren, aber ich bin mir nicht sicher, wie ich so etwas tun würde, wenn ich diesen Speicher innerhalb einer Ramdisk reservieren möchte, anstatt mmap bereitzustellen Wert von 'NULL' für einen Adresshinweis –