Programmieren mit GCC

Winn

Aktives Mitglied
Thread Starter
Dabei seit
07.11.2002
Beiträge
429
Reaktionspunkte
0
Hatte vorher stets mit Metroworks entwickelt, aber das Projekt soll nun auf gcc basieren, dabei stellen sich zwei Fragen:

1) Wie bekomme ich den neusten GCC Compiler, www.gnu.org ist klar, aber welchen von den Compilern nehme ich, wenn ich ein PB 15" G4 667MHz DVI unter OS X 10.2.5 habe ? Oder ziehe ich mir etwa einfach die neusten Developer Tools herunter ?

2) Quellcode, lieber im ProjectBuilder oder mit BBEdit ? Was sind da eure Erfahrungen ? Optional wäre hier, daß ich mit dem InterfaceBuilder "unter Umständen" werkeln werde...

Gruß aus Düsseldorf, Winn
 
Den neuesten GCC der für Apple Computer verfügbar ist gibt es mit den Developer Tools, derzeit aktuell ist gcc 3.1 der Teil der December Developer Tools ist, ich denke allerdings, dass demnächst ein neuer erscheinen wird.

Sonst kann ich dir die Kombination aus Interface Builder und Project Builder nur wärmstens empfehlen, ich arbeite erfolgreich mit dieser Kombination, sehr einfach zu bedienen, eingängig und unglaublich praktisch.
 
Hey D'Espice,

Wie hast Du Dich in ProjectBuilder/InterfaceBuilder eingearbeitet ? Literatur oder die beigefügten PDF Doku's, Webseiten ? Es ist so anders als Metroworks...

Gruß Winn
 
In Objective-C habe ich mich anhand der von Apple mitgelieferten Dokumentation eingearbeitet, die PDF Datei findet sich nach der Installation der Developer Tools im Documentation Verzeichnis derselbigen.

Um mich in Cocoa und die Frameworks einzuarbeiten hab ich ein Buch benutzt, welches mittlerweile als das "brown book of cocoa programming" gilt und als Bibel für alle Neulinge gehandelt wird. Das Buch heißt "Cocoa programming in Mac OS X" und ist von Aaron Hillegass verfasst. Ob es eine Deutsche Übersetzung gibt weiß ich nicht, ich würde ohnehin das original empfehlen falls deine Englisch-Kenntnisse dies zulassen.
 
Liebäugelte schon länger mit dem Buch, werds mir dann wohl mal endlich kaufen :D

Gibt es eine Möglichkeit dem GCC Beine zu machen ? Umstellen von 2.95 auf 3.1 war schon mit nem Leistungsschub verbunden, aber der MWCC Compiler erstellt ein performanteres Executable (Vergleich GCC: 518sec MWCC: 204sec) für den gleichen SourceCode !

Gruß Winn
 
Mit gcc sourcefile.c -03 lief es nun mit 91sec !! Allerdings mit der Compilierung im Terminal, gibt es nicht vielleicht ein config File indem sämtliche Flags drinstehen ? So daß ich aus dem ProjectBuilder auch gleich solch ein flottes Executable bekomme ?
 
Hmm... gute Frage, diese Datei müsste es eigentlich schon geben aber ich weiß das jetzt nicht sicher wo die ist. Werd mich mal schlau machen und mich melden, sobald ich was rausgefunden habe.
 
Also die Datei hab ich auch nicht gefunden, aber die Möglichkeit die Optimierung im ProjectBuilder einzustellen... Übergang in die "Target" Übersicht, dann rechts auf die Registerkarte "Build Settings", unten befindet sich die DropDown Liste für die Optimierung bzw. sogar direkt Command Flags können eingetragen werden...

Allerdings (!!!) mit ProjectBuilder 2.0 von der AprilDeveloper Version bringt die Einstellung des GCC von -O0 bis -O3 gar nichts !!! Die Performance bleibt gleich schnell !!! Nur wenn der Quellcode aus dem Terminal mit GCC kompiliert wird, ändert sich die Performance... Wahrscheinlich ein Bug, die DezemberTools hab ich mir schon gezogen, mal schauen ob's dort übernommen wird...

Greetz Winn
 
Also mit den Dezember Tools bleibt der Fehler ! Kann dort zwar auch noch zwischen dem GCC 2.95 und dem GCC 3.1 wechseln, aber die Optimizations Level scheinen "überhaupt nicht" übernommen zu werden, der Verdacht erhärtet sich, wenn man sich das Build-Fenster einmal genauer anschaut:

Building target “Test” with build style “Development” (optimization:level ‘0’, debug-symbols: off)

unabhängig davon welche Optimization eingestellt wurde ! Für mich ein Bug... Schicke nen Report an Apple, wenn mir mindestens noch einer (D'Espice ?!) den Fehler bestätigt.
  • ProjectBuilder (mit -Os) ->100sec
  • ProjectBuilder (mit -O3) -> 100sec
  • Terminal (mit -Os) -> 49sec (den Sprung find ich auch interessant !)
  • Terminal (mit -O3) -> 13sec
Quellcode (simple Multiplikation des großen Einmal Einses etwa 25Mio mal) schicke ich jedem gerne zu...

Greetz Winn
 
Kann das Phänomen bestätigen, die Flaggen scheinen tatsächlich nichts zu ändern. Aber warte noch mit dem Abschicken, vielleicht kann ich das Problem ja irgendwie lösen, gib mir das Wochenende und sollte bis dahin kein Erfolg sichtbar sein, darfste schicken ;)
 
Du meinst einen Workaround finden ? Der Bug wird dadurch ja nicht verschwinden, es sei denn :D Du bist an der Entwicklung vom ProjectBuilder beteiligt :D

Da bin ich ja mal gespannt... Winn

Nachtrag (21:24): Hab nun nen Bugreport abgeschickt, Apple hat dafür eine eigene Webseite -> https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb
 
Zuletzt bearbeitet von einem Moderator:
Nein, beteiligt an der Entwicklung bin ich leider nicht ;) Aber ist gut, dass du abgeschickt hast. Hab jetzt selber in der Zeit die mir zur Verfügung stand keine Lösung finden können für das Problem.
 
Rofl, die Antwort von Apple...

ProjectBuilder: GCC Changing Optimization has no effect
Bug ID # 3241682

Hello Winfried,

Thank you for taking the time to bring this issue to our attention.
Engineering has reviewed your report and has determined that this is
behavior intended by design and is working correctly per engineering
specifications.

Below, we have provided comments from engineering to help further
explain this conclusion:

The build style in your project takes precedence over the target's settings.
You probably need to change the optimization level there - or use a
different build style - rather than changing it in the target.


We hope this information is helpful. Please do not hesitate to contact
us should you wish to discuss this matter further.

Thank you for your time and effort. Your help is greatly appreciated.

Best Regards,

Maurice Cusseaux
Apple Developer Connection
Worldwide Developer Relations

... man kauft ein Auto mit Umschaltmöglichkeit zum Sportgetriebe und dann kriegt man vom Hersteller gesagt, daß geht nicht bei diesem Auto, sondern nur bei einem Anderen :rolleyes:
 
GCC/G++ Forum ?

Hallori nochmal,

hat einer von Euch vielleicht einen guten Link zu einem GCC/G++ Forum ?

Gruß Winn
 
Zurück
Oben Unten