2010-09-10 5 views
125

Was ist Objective C++ und kann ich diese Sprache in Xcode verwenden?Was ist Objective C++?

+4

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

+0

Der enge Grund ‚schwer zu sagen, was gefragt wird‘ zum Schließen eine Frage war ein älterer Grund. In diesen Tagen wäre der Grund "zu breit", da das OP wirklich zwei verschiedene Fragen ist. Zuerst würde das Erklären von Objective C++ mehrere Seiten erfordern, und zweitens wird das Codieren für iOS spezifisch mit Objective C durchgeführt und XCode ist die Standard-IDE für die iOS-Entwicklung, obwohl die beiden verwandt sind, ist es selbst eine zu große Frage. Diese Art von Fragen sollten auf die Dokumentationswebsite verschoben werden. –

+0

@ DaveVoyles-MSFT: Ich habe es schwer, jemanden ernst zu nehmen, der denkt, dass die Ablehnung einer Frage und der mechanisierte, industrialisierte, organisierte, systematische Massenmord von über 6 Millionen Menschen dasselbe ist. –

Antwort

122

Objective-C++ ist einfach Quellcode, Objective-C-Klassen und C++ Klassen (zwei völlig unabhängige Einheiten) vermischt. Ihr C++ - Code funktioniert genauso wie zuvor und die resultierende ausführbare Datei wird mit der Objective-C-Laufzeit verknüpft, so dass Ihre Objective-C-Klassen ebenfalls funktionieren. Sie können es definitiv in XCode verwenden - benennen Sie Ihre Dateien mit der .mm Erweiterung.

Auch könnten Sie Apple's (sadly deleted, but archived) documentation on Objective-C++ lesen.

27

Objective-C++ ist Objective-C (wahrscheinlich mit Cocoa Framework) mit der Fähigkeit, mit C++ Code (wahrscheinlich Klassen) zu verknüpfen.

Ja, können Sie diese Sprache in Xcode verwenden für Mac OS X, iPhone/iPod Touch, iPad zu entwickeln. Es funktioniert sehr gut.

Sie zu tun haben, nicht etwas seltsam in Ihrem Projekt Objective-C++. Nennen Sie Ihre Objective-C Dateien mit der Endung .mm (statt .m), und Sie sind gut zu gehen.

Es ist meine Lieblingsarchitektur: Basisklassenbibliothek meines Spiels/Anwendung in C++ zu entwickeln, damit ich es auf anderen Plattformen (Windows, Linux) wiederverwenden kann und Cocoa nur für das iPhone/iPad UI verwendet.

+9

Es geht nicht um * Verknüpfung * mit C++ - meinst du * Mischen *? –

5

Wenn Sie Objective-C++ verwenden möchten, aber nicht wollen, Ihre Dateien .mm Kasse auf eine similar question meine Antwort nennen.

Ohne jede .m ändert, so .MM oder irgendetwas, wenn Sie Ihr Projekt, klicken Sie auf tagets-> bauen Einstellungen gehen den ganzen Weg hinunter zu „LLVM GCC 4.2 - Sprachen“ (neu xcode sagt "Apple LLVM Compiler 4,2") Sie sehen Kompilieren Quellen wie ändern Sie diesen Wert auf Objective-C++;

+3

während Sie dies tun können, ist es nicht so portabel und kann für jemanden verwirrend sein, der versucht, Ihren Code zu erhalten, wo .s ein Header und .r Implementierungsdateien sind. –

+0

wo ziehen Sie .s und .r aus? Sie können Standard-M für Methodendatei und H für Header verwenden, als ob Sie einfach Objective-c verwendet hätten. –

+0

Ich sage das nur.m bedeutet etwas, und damit es etwas anderes bedeutet, ist es nicht Standard. –

Verwandte Themen