In Windows, per applicazioni molto esigenti, un programmatore può utilizzare HeapCreate, HeapAlloc per gestire e controllare meglio l'allocazione della memoria, accelerandola (ovvero allocatori privati). Qual è l'equivalente nella programmazione in C++ di Linux?HeapCreate, HeapAlloc in Linux, allocatore privato per Linux
risposta
Se si desidera utilizzare il proprio allocatore privato, utilizzare mmap()
per mappare una quantità di memoria nel processo, quindi è possibile utilizzare quella memoria come desiderato. Aprire un descrittore di file su /dev/zero
e quindi utilizzarlo come parametro "fildes" su mmap()
. Vedi man mmap
per i dettagli completi dei parametri da passare. A questo proposito, mmap()
ha lo stesso ruolo di HeapCreate()
.
Non è necessario aprire '/ dev/zero' - puoi semplicemente usare il flag' MAP_ANONYMOUS' e passare -1 come argomento 'fd'. – caf
Vero, ed è spesso più veloce se lo fai, anche se 'MAP_ANONYMOUS' è meno portabile (ad esempio non è incluso in SUSv2). Ma hai ragione, lo farebbe quasi sicuramente in questa situazione :-) – psmears
SUSv2? Chi dà un sottaceto :) –
- 1. Font Linux sans-serif predefinito per Linux
- 2. in Linux?
- 3. per il processo linux
- 4. editor xml per linux
- 5. syslog_r per Linux?
- 6. Emulatore BlueStacks per Linux?
- 7. alternativa TextMate per Linux
- 8. ordina per colonna linux
- 9. Objective-C in Linux
- 10. Utilizzando setcap in linux
- 11. tracciando pthreads in linux?
- 12. fedora linux --- compilazione del primo modulo linux
- 13. C threading in linux?
- 14. I2C Driver in Linux
- 15. Python - PYTHONPATH in linux
- 16. Cache DNS in linux
- 17. in Linux? (E OSX?)
- 18. storia Disattiva in Linux
- 19. Elaborazione parallela in linux
- 20. concetti pthread in linux
- 21. IS_ERR() macro in Linux
- 22. Impostazione Mysql ++ in linux
- 23. _splitpath in Linux
- 24. Multitouch in Linux
- 25. errore Ffmpeg in linux
- 26. atomic_t in Linux
- 27. memcpy asincrono in linux?
- 28. ordinamento stabile in linux
- 29. Java: Grafica in Linux
- 30. CreateRemoteThread in Linux
È possibile fornire un confronto del codice sorgente di Windows utilizzando HeapCreate(). HeapAlloc(). HeapFree(). e codice sorgente usando mmap(). funziona per fare la stessa cosa? – PatrickM