2010-09-10 16 views
125

¿Qué es Objective C++ y puedo usar este idioma en Xcode?¿Qué es Objective C++?

+4

https://sergworks.wordpress.com/2012/09/26/why-stackoverflow-sucks/ –

+0

La estrecha razón 'difícil decir lo que se pide' era una razón mayor para el cierre de una pregunta. En estos días, la razón sería "demasiado amplia" ya que OP es realmente dos preguntas diferentes. Primero, explicar Objective C++ tomaría varias páginas, y segundo, la codificación para iOS se hace específicamente usando Objective C y XCode es el IDE predeterminado para el desarrollo de iOS, por lo tanto, aunque ambos estén relacionados, es una pregunta demasiado grande. Este tipo de preguntas se deben mover al sitio de documentación. –

+0

@ DaveVoyles-MSFT: Estoy teniendo un momento difícil para tomar en serio a alguien que piensa que una pregunta negativa y el asesinato en masa mecanizado, industrializado, organizado y sistemático de más de 6 millones de personas son la misma cosa. –

Respuesta

122

Objective-C++ es simplemente el código fuente que mezcla las clases Objective-C y las clases C++ (dos entidades totalmente independientes). Tu código C++ funcionará igual que antes, y el ejecutable resultante se vinculará con el tiempo de ejecución de Objective-C, por lo que tus clases Objective-C también funcionarán. Definitivamente puede usarlo en XCode - nombre sus archivos con la extensión .mm.

Además, es posible que desee leer Apple's (sadly deleted, but archived) documentation on Objective-C++.

27

Objetivo-C++ es Objective-C (probablemente con Cocoa Framework) con la capacidad de vincular con código C++ (clases probables).

Sí, puede usar este idioma en Xcode para desarrollar para Mac OS X, iPhone/iPodTouch, iPad. Funciona muy bien.

No tiene que hacer nada raro en su proyecto para usar Objective-C++. Simplemente nombre sus archivos Objective-C con la extensión .mm (en lugar de .m) y listo.

Es mi arquitectura favorita: desarrollar biblioteca de clase base de mi juego/aplicación en C++ para poder reutilizarla en otras plataformas (Windows, Linux) y usar Cocoa solo para el iPhone/iPad UI cosas específicas.

+9

No se trata de * linking * con C++ - ¿quisiste decir * mixing *? –

5

Si desea usar Objective-C++ pero no quiere nombrar sus archivos .mm revise mi respuesta a similar question.

sin cambiar ninguna .m a .MM ni nada de eso, si hace clic en su proyecto, haga clic tagets-> construir configuración recorrer todo el camino hasta "LLVM GCC 4.2 - Idiomas" (nueva xcode dice "Apple LLVM compilador 4.2") verá Compilar las fuentes Como cambiar ese valor a Objetivo-C++;

+3

Mientras lo puede hacer, no es tan portátil y puede ser confuso para alguien que intenta mantener su código donde .s es un encabezado y .r son archivos de implementación. –

+0

¿de dónde sacas .s y .r? Puede usar .m estándar para el archivo de métodos y .h para el encabezado, como si hubiera usado Objective-c simple. –

+0

Solo digo eso.m significa algo, y para que signifique que algo más no es estándar. –

Cuestiones relacionadas