Como proyecto de maestría, estoy diseñando un sistema operativo simple. Está siendo diseñado para ejecutarse en modo real de 16 bits en una arquitectura x86. Idealmente, me gustaría desarrollar este sistema operativo en C ++, y solo usar el ensamblaje cuando sea necesario. Hasta ahora, tengo un gestor de arranque escrito en ensamblado, que carga un kernel que es una mezcla de C ++ y asm. Mi pregunta es sobre el uso de C ++. A partir de ahora, se ha compilado y puede ejecutarse, pero no he utilizado ninguna asignación de memoria dinámica.
Si estuviera usando C, tendría sentido escribir funciones malloc que manejarían la asignación de memoria, pero en C ++ se usa la nueva palabra clave. Entonces...
¿Cómo funciona 'nuevo' detrás de escena para asignar memoria, y cómo haría para manejar esto?
Y como corolario ...
¿Tiene sentido tratar de usar C ++ para aprovechar sus abstaciones de nivel superior? ¿O sería más dolor de cabeza usarlo y debería seguir con C?
Proporcione una justificación si cree que C ++ no sería una buena opción.
fuente