C++/cli es la versión actual de la herramienta de herramientas Visual C++ de Microsoft. (Hubo un diseño diferente antes de C++/cli)
C++/cli es realmente dos versiones de C++ en una. Existe un compilador C++ altamente estandarizado y también una versión de C++ que se ejecuta en la máquina virtual CLI. Obviamente, el estándar C++ nunca se ejecuta en una máquina virtual, por lo que determina el enfoque dos en uno para el idioma.
Al utilizarlo, puede mezclar unman envejecido y código administrado. "Unmanaged" es un código compilado como el estándar C++. "Gestionado" es un compilador de código para la CLI (.Net), prácticamente un bytecode de la máquina. Microsoft tiene extensas API para códigos administrados y no administrados. Con el producto puede acceder a ambas API.
Puede desarrollar aplicaciones estándar de C++ con el lenguaje y la herramienta, solo tiene que tener cuidado de no utilizar las extensiones no estándar. Sugiero compilar en otro compilador de vez en cuando si tiene dudas. El lado administrado es totalmente no estándar e incluso el lado no administrado tiene toneladas de extensiones no estándar.
PD No soy un experto pero tuve curiosidad y leí acerca de esto la semana pasada. Pensé que tu pregunta merecía una respuesta. ¡Buena suerte!
Entonces, si solo deseara utilizar el estándar C++, plantillas e impulso, ¿no necesitaría CLR? ¿Por qué necesitaría usar CLR, si quería usar bibliotecas .NET? Gracias – Jean
. Utilizaría CLR cada vez que planee llamar a bibliotecas .NET, o si desea que su código funcione bien con el código .NET que lo está llamando. Si desea simplemente escribir C++, no se moleste con C++/CLI. Ambos tienen sus dominios previstos, pero si estás escribiendo C++ puro no hay necesidad de CLR. –
"* También a veces C++/CLR *" No, el nombre del idioma es C++/CLI; si alguna vez se llama C++/CLR, es un error de alguien que no sabe nada mejor. – ildjarn