Sto ricevendo -EINVAL
per qualche motivo, e non mi è chiaro il perché. Ecco dove apro e tentare di mmap
file:Argomento non valido per mmap di lettura-scrittura?
if ((fd = open(argv[1], O_RDWR)) < 0)
{
fprintf(stderr, "Failed to open %s: %s\n", argv[1], strerror(errno));
return 1;
}
struct stat statbuf;
if (fstat(fd, &statbuf))
{
fprintf(stderr, "stat filed: %s\n", strerror(errno));
return 1;
}
char* fbase = mmap(NULL, statbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (fbase == MAP_FAILED)
{
fprintf(stderr, "mmap failed: %s\n", strerror(errno));
return 1;
}
EDIT: Vorrei aggiungere, si verifica l'errore nel mmap
.
Cosa intendi? Questo è un frammento di qualcosa che sto scrivendo. – Alex
La domanda è "dove" in quale riga del frammento di codice si verifica l'EINVAL. – alk
Siamo spiacenti, ho dimenticato di specificare. L'errore è in mmap. – Alex