En Windows, para aplicaciones muy exigentes, un programador puede usar HeapCreate, HeapAlloc para administrar y controlar mejor la asignación de memoria, acelerarlo (también conocidos como asignadores privados). ¿Cuál es el equivalente en la programación de Linux C++?HeapCreate, HeapAlloc en Linux, asignador privado para Linux
Respuesta
Si desea utilizar su propio asignador privado, utilice mmap()
para asignar una cantidad de memoria a su proceso, luego puede usar esa memoria como desee. Abra un descriptor de archivo en /dev/zero
y luego utilícelo como el parámetro 'fildes' en mmap()
. Ver man mmap
para más detalles de los parámetros a pasar. A este respecto, mmap()
juega el mismo rol que HeapCreate()
.
No necesita abrir '/ dev/zero' - puede simplemente usar la bandera' MAP_ANONYMOUS' y pasar -1 como el argumento 'fd'. – caf
Es cierto, y a menudo es más rápido si lo hace, aunque 'MAP_ANONYMOUS' es menos portátil (por ejemplo, no está incluido en SUSv2). Pero tienes razón, casi con seguridad lo harías en esta situación :-) – psmears
SUSv2? Quién da un pepinillo :) –
- 1. El asignador de Linux no libera trozos pequeños de memoria
- 2. editor xml para Linux
- 3. Dreamweaver equivalente para Linux
- 4. IDE liviano para Linux
- 5. syslog_r para Linux?
- 6. TextMate alternativa para Linux
- 7. comando de Linux "archivo" muestra "para GNU/Linux 2.6.24"
- 8. Linux Crypto API y linux/crypto.h - Documentación
- 9. Apple iOS IDE para Linux?
- 10. cerraduras de archivos para Linux
- 11. compiladores de Ada para Linux
- 12. Linux incorporado para principiante total
- 13. Windows Mobile Emulator para Linux
- 14. Dependency Walker equivalente para Linux?
- 15. Programas gráficos DIFF para Linux
- 16. ¿Cuál sería getDesktopProperty() para Linux?
- 17. gotoxy() para Linux usando printf
- 18. ¿Buen renderizador SVG para Linux?
- 19. Linux distros para Java Development
- 20. Intérprete de Javascript para Linux
- 21. Crear un administrador de ventanas para Linux
- 22. C# en entorno linux
- 23. rastreando pthreads en linux?
- 24. Limitación Classpath en Linux
- 25. Capturar entrada en Linux
- 26. Java: gráficos en Linux
- 27. Programando VHDL en Linux?
- 28. Directorio JAVA_HOME en Linux
- 29. setcap en Linux
- 30. Linux TortoiseSVN
Puede proporcionar una comparación del código fuente de Windows usando HeapCreate(). HeapAlloc(). Heapfree() y el código fuente usando mmap(). funciones para hacer lo mismo? – PatrickM