2010-09-23 6 views
1

Je fais mes premiers pas dans le développement d'iPhone. Je veux utiliser du code c \ C++ mais je ne trouve pas de référence sur la façon dont ça se passe (je vais très appriciate si vous pouvez aussi me référer à votre source quand vous donnez un answear)Comment compiler C++ en xCode pour votre application iPhone?

J'ai un fichier appelé calc .h contenant une classe "calculatrice" avec de simples fonctions add et mult, je l'ai importé exactement comme je l'ai fait avec un fichier d'en-tête Objective-C. Qu'est-ce que je suis supposé faire maintenant?

Répondre

0

Tout ce que vous faisiez lorsque vous étiez en train de coder en C/C++.

Par exemple:

#include "calc.h" 
.... 
-(void) testCode { //obj-c 
float x = 3; 
float y = 8.0; 
float sumOfTwo = sum(x, y); 
} 

En supposant que vous avez une fonction somme nommée dans votre fichier d'en-tête semblable à celui utilisé ci-dessus.

+0

J'ai fait exactement cela avec les fichiers d'en-tête c d'objectif. La différence est que j'ai une classe dans le fichier C++. Comment aborder une fonction dans la classe? Sera appriciate si vous pouvez également me référer à une source où je peux lire à ce sujet. – AYBABTU

+1

1. Renommez votre fichier .m en .mm 2. Créez un objet de ce type de classe comme vous le faites normalement en C++. 3. Appelez une méthode sur cet objet. Encore une fois, rien de spécial, sauf pour le nom de fichier. http://www.macresearch.org/objective_c_for_objective_c_programmers et http://gavmacprogramming.wordpress.com/2007/04/26/c-for-objc-programmers-part-i/ – Alin

0

Si vous utilisez des extensions standard pour les fichiers source (par exemple, .cpp/.c), vous pouvez simplement les créer sans rien faire de spécial.
Si vous utilisez des extensions hors du commun vous devez définir le type de fichier manuellement: Dans FichierInformez-vous sur défini Type de fichier-sourcecode.cpp.cpp/sourcecode.c.c.

Notez toutefois que vous ne pouvez pas utiliser C++ dans la plaine des fichiers Objective-C (.m) - si vous voulez faire, vous devez utiliser Objective-C++ (.mm) à la place.
Pour l'utilisation de C il n'y a pas de telle restriction car Objective-C est un sur-ensemble de C - comme avec C++, vous devrez peut-être faire attention aux utilisations d'identifiants qui sont des mots-clés dans Objective-C.

+0

Pouvez-vous me référer à une source discutant de cette problème? – AYBABTU

+0

@Gal: Il y a un lien vers la discussion Apple Objective-C++ dans ma réponse. Pour les problèmes connexes, voir [ici] (http://robnapier.net/blog/wrapping-c-take-2-1-486), [ici] (http://stackoverflow.com/questions/1885586/language-mixing -model-and-view/1885649), [ici] (http://stackoverflow.com/questions/2226912/can-i-separate-c-main-function-and-classes-from-objective-c-and- ou-c-routines-a/2227013), [ici] (http://stackoverflow.com/questions/2746215/c-reference-type-as-instance-variable-in-objective-c/2746250), .. –

+0

Ou avez-vous un problème spécifique en tête? –

Questions connexes