1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Objective C++ etc.

Dieses Thema im Forum "OS X-Developer" wurde erstellt von blutaermer, 07.03.06.

  1. blutaermer

    blutaermer Ingrid Marie

    Dabei seit:
    31.12.03
    Beiträge:
    273
    Ich habe mal ein paar prinzipielle Fragen:
    ich versuche gerade eine C++ Bibliothek zusammenzuschustern und moechte spaeter evtl. darauf zugreifen koennen(dafuer sind die ja da ;) ) und das sowohl mit Objective C (also Cocoamaessig) als auch mit C++(vielleicht Qt oder so).

    Nun gibts ja Objective-C++. Der gcc 4.1 (die offizielle version) compiliert dieses zeugs ja auch und ich mutmasse mal, dass der apple-gcc 4.0 das auch kann. um meinem ziel naeher zu kommen bietet sich ObjC++ an - denke ich mal.

    Was muss ich jetzt tun um meine Bibliothek darauf vorzubereiten?
    Gibts da nette Quellen im Netz?
    Kann man im Quellcode die ObjC++ erweiterungen durch praeprozessor anweisungen ausschliessen (damit auch andere, die nicht den gcc 4.1 verwenden die bibliothek bauen koennen)?
    oder waere es einfacher die bibliothek in purem C++ zu schreiben und dann wrapperklassen zu basteln, die in ObjC++ geschrieben sind?

    Fragen ueber Fragen ...
     
  2. k3rn3lpanic

    k3rn3lpanic Macoun

    Dabei seit:
    05.06.05
    Beiträge:
    122
    Also die Bibliothek solltest Du in reinem C++ halten, ansonsten hast Du z.B. mit QT sehr schlechte Karten.
    Du kannst dann aber durchaus mit ObjC Wrapperklassen dafuer schreiben.
     
  3. blutaermer

    blutaermer Ingrid Marie

    Dabei seit:
    31.12.03
    Beiträge:
    273
    Deswegen wollte ich die ObjC++ Erweiterungen ja auch mit Praeprozessordefinitionen kapseln. Da ich aber nicht genau weiss wie diese Erweiterungen aussehen, weiss ich auch gar nicht ob das geht.

    Ist jetzt ne ernsthafte Frage: das waeren dann schon ObjC++ Wrapperklassen oder?
     
  4. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    Nein, das geht nicht.

    Die C++-Bibliothek bzw. das C++-Framework muß komplett in C++ geschrieben sein, und darf keinerlei Objective-C Anteile enthalten. Daher braucht man auch keinen Präprozessor.

    Diese C++-Bibliothek kannst Du nun in einem C++ oder Objective-C Programm verwenden. Bei ersterem geht das ganz normal und Du brauchst Dir keinerlei Gedanken darüber machen. In dem Objective-C Programm sieht die Sache aber anders aus, da müssen das C++ Laufzeitmodell und das Objective-C Laufzeitmodell unter einen Hut gebracht werden. Für solche Zwecke hat Apple Objective-C++ entwickelt.

    Genauere Infos was Du in den Übersetzungseinheiten machen mußt, damit C++ und Objective-C zusammenarbeiten können, mußt Du in der Entwickler Doku von Apple nachlesen.
     
  5. blutaermer

    blutaermer Ingrid Marie

    Dabei seit:
    31.12.03
    Beiträge:
    273
    na gut ich nehme das jetzt mal so hin, obwohl ich nicht weiss ob du mich richtig verstanden hast. aber vermutlich ja. das wuerde dann bedeuten, dass die ObjC anpassungen mit C++ nehr verwoben ist als ich dachte.

    ich brauche immer einen - schon wegen der includes ... ;)

    ok. so habe ich mir das auch gedacht. also nen wrapper machen.

    hat jemand noch nen geheimtipp, wo ich noch gute doku genau zu diesem thema finde?
     

Diese Seite empfehlen