C++ mit Xcode

R

RedDeath

Mitglied
Thread Starter
Dabei seit
02.03.2005
Beiträge
72
Reaktionspunkte
0
hi zusammen

programmiere seit einiger zeit c++ code mit Xcode. funktioniert alles prächtig.

möchte nun aber auch programmoberflächen programmieren. wie erstelle ich eigentlich C++ programme mit oberfläche?

danke für eure hilfe
Red
 
unter projekt/application gibt es doch C++...
dann musst nur noch die nib files mit dem interface builder machen...
 
Hi,

von dem C++ Carbon-Interface würde ich die Finger lassen, hat Apple selber als veraltet gebrandmarkt. Warum nicht Cocoa?

Ansonsten nimm doch Qt (www.trolltech.com), ist eine sehr gute C++ Bibliothek, ist Opensource, Doku ist erstklassig und portabel biste auch noch (deshalb ohnehin C++ statt Obj-C ?).

Gruß, SMJ
 
super. vielen dank.

ich möchte mich etwas in medienprogrammierung einarbeiten.

z.B. um format convertierer oder dvd player schreiben zu können. brauche ich da noch zusätliche libs?

cool dass ihr so schnell reagiert habt.

grüsse aus dem regnerischen zürich
red
 
Ansonsten nimm doch Qt (www.trolltech.com), ist eine sehr gute C++ Bibliothek

Du nennst hier "und portabel biste auch" als letzen, und so ein bischen nebensächlichen Punkt.

Aber bitte, bitte, mit Zucker obendrauf: Qt auf dem Mac sollte man m.E. nur dann Qt verwenden, wenn die Portabilität ein Hauptkriterium ist.

Wenn die Portabilität nicht gebraucht wird, dann sollte man wirklich, echt, unter Freunden, mit Cocoa und Objective-C arbeiten.

Alex
 
hi zusammen

programmiere seit einiger zeit c++ code mit Xcode. funktioniert alles prächtig.

möchte nun aber auch programmoberflächen programmieren. wie erstelle ich eigentlich C++ programme mit oberfläche?

danke für eure hilfe
Red
Anwendungsentwicklung mit C++ ist jedenfalls auf dem Mac so sinnvoll, wie sich Nadeln unter die Fingernägel schieben. Alternativ kannst du auch mit dem Hammer auf die Finger kloppen.

Es kann natürlich sein, dass du modalen Crap wie unter Windows erzeugen willst. Aber außer dir selbst wirst du damit wohl keinen begeistern können.
 
Aber bitte, bitte, mit Zucker obendrauf: Qt auf dem Mac sollte man m.E. nur dann Qt verwenden, wenn die Portabilität ein Hauptkriterium ist.

Wenn die Portabilität nicht gebraucht wird, dann sollte man wirklich, echt, unter Freunden, mit Cocoa und Objective-C arbeiten.
Alex

ich zitiere mich mal selbst:

SumpfMonsterJun schrieb:
Warum nicht Cocoa?

Ich würde auf dem Mac auch jederzeit Cocoa jedem C++-Framework vorziehen, keine Frage, sogar mit Zucker unten drunter...

ABER:

Der TA fragte nach C++, ich darf Deinen Namensvetter bei Apfeltalk zitieren:

"If the customer wants the software on a bed of lettuce, then serve it on a bed of lettuce"
:D

Jetzt gibt es zwei Möglichkeiten diesen Thread fortzuführen:

1.) Wir rennen beieinander offene Türen ein, überzeugen uns alle gegenseitig von Cocoa, hacken auf C++ rum, flamen sonst noch ein bisschen durch die Gegend
2.) Wir versuchen dem TA zu helfen, mit C++ unter dem Mac was auf die Beine zu stellen (ich würde davon ab- und zu Cocoa raten, s.o.).
Qt ist da die bessere der schlechten Lösungen (welches andere C++ Framework hat vergleichbare Pluspunkte?)

So weit, SMJ
 
Als Kompromiß bliebe noch die Möglichkeit, die Oberfläche mit Obj-C/Cocoa zu stricken und die eigentliche Funktionalität mit C++ zu programmieren. Man muß C++ nicht komplett über Bord werfen bzw. kann vorhandene C++ Klassen auch weiterhin benutzen, denn der Kompiler verarbeitet ja beides.
 
RedDeath wird seine Gründe haben, wieso er C++ nutzt. ;)
 
RedDeath schrieb:
wie erstelle ich eigentlich C++ programme mit oberfläche?

von C++ aus mit dem Carbon-Framework. Standard bei OS X ist jedoch das Cocoa-Framework, dafür mußt Du jedoch Obective-C programmieren. Eigentlich müßte ich "darfst" statt "mußt" schreiben, denn das ist wesentlich angenehmer als C++.

Das ist auch der Grund warum weiter oben einige einen Flame gestartet haben. Hinzu kommt das Teile von Carbon deprecated sind und in den nä. OS X Versionen verschwinden werden. Systemkonform bist Du mit Objective-C und Cocoa.

Für C++er bedeutet das Objektorientierung noch einmal neu/anders zu lernen, den Gedanken ist es jedoch allemal wert!
 
"If the customer wants the software on a bed of lettuce, then serve it on a bed of lettuce"
:rotfl:
Qt ist da die bessere der schlechten Lösungen
Vollkommene Zustimmung.

Als Kompromiß bliebe noch die Möglichkeit, die Oberfläche mit Obj-C/Cocoa zu stricken und die eigentliche Funktionalität mit C++ zu programmieren.
Auch das.

RedDeath wird seine Gründe haben, wieso er C++ nutzt. ;)
Da bin ich mir -- bei allem Respekt -- nicht so sicher, deshalb Frage ich lieber nach.

Die vom TE Angesprochen Projekte lassen sich sicher über die von Altivec angesprochene Methode angehen.

Alex
 
gründe für C++...ist das mir das codeschreiben leichter von der hand geht.

habe bei C (unter Linux) extrem mühe gehabt.....evtl. hängt damit zusammen dass es eher ne funktionale sprache ist.....objektorientiert liegt mir vielleicht eher.

Unter Windows habe ich schon mit Visual C++ medienprogramme geschrieben.

möchte aber eigentlich auf macs arbeiten bzw. tools für macs entwickeln.

Was schlägt ihr da vor? bin offen für Inputs......
 
habe bei C (unter Linux) extrem mühe gehabt.....evtl. hängt damit zusammen dass es eher ne funktionale sprache ist.....objektorientiert liegt mir vielleicht eher.

C ist keine funktionale sondern eine prozedurale Sprache, wenn du jemals was mit SML hättest machen müssen, dann würdest du den Unterschied kennen ;)

möchte aber eigentlich auf macs arbeiten bzw. tools für macs entwickeln.

Was schlägt ihr da vor? bin offen für Inputs......

Cocoa mit Obj-C

Aber wenn man von C/C++ kommt, dann ist ist Obj-C doch sehr gewöhnungsbedürftig...
 
möchte aber eigentlich auf macs arbeiten bzw. tools für macs entwickeln.

Was schlägt ihr da vor? bin offen für Inputs......

Objective-C und Cocoa. Tolle Sprache, leicht zu lernen. Finde ich

Alex
 
Objective-C und Cocoa. Tolle Sprache, leicht zu lernen. Finde ich

Alex

Wenn man sich einmal an die merkwürdig hybride Syntax gewöhnt hat und versteht, bis wohin Objektorientierung getrieben werden kann... *und wech*
 
Wenn man sich einmal an die merkwürdig hybride Syntax gewöhnt hat und versteht, bis wohin Objektorientierung getrieben werden kann... *und wech*

Die Oldschooler erkennen sofort die wunderschöne Smalltalk Syntax wieder :Pah:

Und schöner als dieses C With Classes (aka C++) ist es allemal.

Alex
 
Jaja, C++ mag ich zugegebener maßen garnicht, was aber teilweise auch an grundlegenden Konzepten liegt (man erweitere Structs um Methoden und nenne sie Klassen...).
 
man erweitere Structs um Methoden und nenne sie Klassen...
Naja was meinst du wie das in Objective-C gelöst wurde...

Grüße
Nero
 
In C++ hast du strikt an Typen gebundene Methoden. Wenn ich das Prinzip von ObjC richtig verstanden hab, "versuchst" du dort nur, eine Methode dran zu rufen. Das Binding geschieht erst zur Laufzeit. Das ist schon etwas ganz anderes.

Auch rein Syntaktisch wurden Structs in C++ um Deklarationen der Methoden erweitert.. Es sieht faktisch gleich aus. Der Compiler sieht auch nur die Methodenliste an der Datenstruktur. (Das Compilat ist sogar andersherum, jede Methode bekommt einen weiteren unsichtbaren this-Parameter, der die Datenstruktur der Klasse enthält).

UC?
 
Ja da hast du schon recht. Aber beide Sprachen sind Erweiterungen von c die ihre Sprachmerkmale nutzen. Und dynamic typing, und daraus resultierend, das man Objekten Nachrichten schicken kann für die sie u.U keine Methoden implementieren ist super. Entscheidend bleibt aber das auch Objective-C Methoden intern einfach ganz normale Funktionen sind die zu einem blob im Speicher gehören (C++ macht das nicht anders). Ob diese dann direkt aufgerufen werden oder dynamisch zur Laufzeit steht ja noch mal auf einem anderem Blatt.

Grüße
Nero
 
Zurück
Oben Unten