c++ - subconjuntos - teoria de conjuntos operaciones
¿La CLI de C++ es un superconjunto de C++? (6)
¿Un compilador CLI de C ++ podría compilar algunos conjuntos grandes de clases de C ++ sin modificaciones?
¿La CLI de C ++ es un superconjunto de C ++?
Pude compilar toda la biblioteca de Qt (que es enorme) como C ++ / CLI con modificaciones menores (principalmente en el entorno de compilación, pero también se corrigió un error en el código fuente de Qt)
De acuerdo con Wikipedia :
C ++ / CLI debe considerarse como un lenguaje propio (con un nuevo conjunto de palabras clave, por ejemplo), en lugar de C ++ Managed C ++ orientado a superconjunto
técnicamente no, pero dependiendo de qué tan estándar sea el código C ++, probablemente estarás bien. cuando te metes en cosas de Windows puedes tener problemas. Recopilé todo el motor del juego que utilizamos en el trabajo en C ++ / CLI una vez y funcionó bien. Un colega hizo lo mismo con todo mozilla y no tuvo tanta suerte.
Todavía soy nuevo con mi curva de aprendizaje en C ++ / CLI, pero también he tenido la misma pregunta, y lo que he determinado hasta ahora es que C ++ / CLI es, como lenguaje, un superconjunto de C ++ estándar.
Si no usa las extensiones CLI, su código C ++ terminará como código nativo no administrado, y debería ser esencialmente el mismo, pero compilado para CLR IL, en lugar de x86 nativo.
Una vez que empiezas a utilizar las extensiones CLI (y empiezas a utilizar objetos / manejadores / clases administradas), comienzas a interactuar más intensamente con la plataforma CLR subyacente. En ese punto, se convierte esencialmente en un nuevo "lenguaje", y tendrá que separar su pensamiento entre el lado "no administrado" y el lado "administrado".
Página 3 del libro de Marcus Heege ''Expert C ++ / CLI.NET para los programadores de Visual C ++'' afirma:
C ++ / CLI es un conjunto de extensiones hechas al lenguaje C ++ para beneficiarse de los servicios que ofrece una implementación de la CLI.
Y más abajo en la misma página:
C ++ / CLI es un superconjunto del lenguaje C ++.
Su excelente libro está disponible de forma gratuita desde aquí .
C ++ / CLI no es un superconjunto de C ++. Más bien es un subconjunto con adiciones. EG C ++ / CLI no admite herencia múltiple.
Angelo