J'utilise CreateFileMapping et MapViewOfFile pour essayer de mapper un fichier de presque 1 Go. J'avais quelques problèmes avec l'extension du fichier alors j'ai pensé que j'essaierais d'utiliser CreateFileMapping avec une taille de 1 Go. C'est plus grand que le fichier actuel, mais cela fonctionne bien sur les fichiers plus petits.Windows me permet de mapper 1 Go de mémoire virtuelle
Il semble que je peux obtenir presque à un mappage de 1 Go, mais pas tout le chemin. Il s'agit d'environ 16 Mo de moins de 1 Go. J'utilise le programme SysInternals VMMap pour voir la disposition des pièces dans mon programme de test. C'est très étrange pour moi. VMMap me montre qu'il y a de la mémoire virtuelle libre juste après ma carte!
Pourquoi ne puis-je pas l'utiliser?
Il ressemble un peu à ceci:
0x3F6E0000 < - cette pièce est allouée à mon programme de test
0x406E0000 < - cette pièce est libre et près de 800 Mo en taille! Donne le moi!
Y a-t-il de la magie dans cette zone de mémoire par rapport à 0x40000000? Si oui, pourquoi m'a-t-il laissé utiliser 0x6E0000? Par ailleurs, le programme de test utilise MapViewOfFile dans 64 segments individuels, ce qui explique pourquoi la pièce 0x3F6E0000 n'est pas très grande.
Ne nous laissez pas en suspens, que dit la colonne Détails? –