2008-11-17 24 views
5

No veo ninguna ventaja real, aparte del hecho de que tiene una sintaxis C++ y, con ella, cosas como punteros y destructores.¿Hay alguna ventaja de usar C++/CLI sobre C++ estándar o C#?

+0

Cuando dice "sabor de C++ de Microsoft", ¿está hablando de las extensiones de MS en el compilador de C++ nativo de MSVC o está hablando de C++/CLI? –

+0

Me refiero a Visual C++ que se compila en el tiempo de ejecución de .NET. Creo que es C++/CLI. –

Respuesta

13

Si estamos hablando acerca de por qué se usaría C++/CLI a través de C#, creo que las principales razones son que:

  1. que podría ser más natural para los desarrolladores de C++ (aunque creo que esto probablemente no es verdadera)
  2. C++/CLI tiene muy buenas capacidades para la reducción de los ambientes nativos y administrados (a través del 'IJW' - Simplemente funciona - la tecnología)

Creo que Herb Sutter, probablemente, da la mejor visión general:

A Design Rationale for C++/CLI

Si desea saber por qué es posible que desee utilizar nativo C++ sobre C# /. NET, esto se reduce a por qué desea un entorno administrado (la seguridad, el desarrollo más fácil) a través de código nativo (control absoluto, posiblemente ventajas de velocidad). Hay argumentos para cada uno, y la respuesta realmente depende de lo que quiere desarrollar y cuál puede ser su mercado.

0

No creo que comparar diferentes sabores de C++ entre sí es la misma pregunta que cuando se compara C++ con C#. C# es una bestia muy diferente en comparación con las diferencias entre los diferentes sabores de C++.

+0

¿Pregunta sobre C++. Net? –

+0

Eso es verdad. Pero aun así, no veo una razón para usar C++ de Microsoft sobre C#. Aunque veo razones para usar C++ estándar sobre C# o C# sobre C++ estándar. –

+0

veo razones para que las empresas usen C++. Cli. no tienen que portar demasiado, y todavía tienen acceso a todos los .net. –

6

Creo que te refieres a C++/CLI y lo comparas con C#. C++/CLI no es un "sabor" de C++. Es un lenguaje completamente nuevo con bibliotecas estándar totalmente diferentes y convenciones completamente diferentes.

En el trabajo, encontramos que C++/CLI es valioso como un pegamento entre C++ y .NET, pero no lo utilizamos para nada más que pegamento de interfaz: C# tiene enormes ventajas sobre C++ en todas las demás aplicaciones.

Si se refiere a extensiones MS C++ como las que describe Adam, no hay ninguna razón para no usarlas si hacen su trabajo más fácil.

1

la buena razón para usar C++ \ CLI es comunicar el lenguaje DotNet con Native C++, por ejemplo, muchas empresas migran primero su GUI a .Net y permiten que cierta lógica en C++ y C++ \ CLI sea el buen puente para comunicarse Entre dos techno, también puedes usar componentes COM para eso, pero por muchas razones no es la mejor opción.

Cuestiones relacionadas