View Single Post
Old 14-01-2005, 16:52   #9
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
mmap lavora solo per multipli di pagina. Anche se ho chiesto 1024 byte, alloca almeno una pagina. La memoria ovviamente è già allineata. Lo stesso per mprotect.
Quote:
E poi perche conviene usare mmap al posto di malloc?
E' solo con la mmap che il funzionamento è garantito. Da man mprotect:
Quote:
POSIX.1b says that mprotect can be used only on regions of memory obtained from mmap(2).
malloc può allocare memoria con syscall diverse da mmap (ad es. brk). Il fatto che mprotect funzioni anche con memoria ottenuta tramite brk è incidentale, e non richiesto dallo standard posix.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso