Spacemojo
Mitglied
Thread Starter
- Dabei seit
- 16.05.2004
- Beiträge
- 624
- Reaktionspunkte
- 21
[SIZE=+1]FAQ: C / C++ mit dem Mac[/SIZE]
In diesem FAQ sollen wichtige Fragen beantwortet werden, die Mac-Programmier-Anfänger haben.
F: Was braucht man zum C / C++-Programmieren auf dem Mac?
A: Zuerst muss man mit einem Editor den Code programmieren, dann kann daraus mit einem Compiler in ein Programm erstellen.
Es gibt zwei Wege das zu tun: Zum einen kann man einen Editor zum coden verwenden und den Code dann mit einem Compiler im Terminal kompilieren.
Zum anderen kann man eine IDE verwenden, also einen Editor, in dem ein Compiler bereits integriert ist.
F: Was sind die Vor- und Nachteile von Editor und separatem Compiler?
A: Vorteile:
- für kleine Projekte mit wenigen Dateien übersichtlich und schnell
- Editoren meist einfach zu bedienen
Nachteile:
- bei vielen Dateien und großen Projekten unübersichtlich
- Terminal-Grundkenntnisse nötig
F: Was sind die Vor- und Nachteile einer IDE?
A: Vorteile:
- Compilieren und Ausführen mit einem Click
- auch für große Projekte mit vielen Dateien geeignet
- einfaches Debuggen
Nachteile:
- IDEs sind anfangs unübersichtlich
F: Welche Editoren gibt es?
A: Zum Beispiel:
- Smultron (Open Source)
- SubEthaEdit (Version 2.2 für nicht-kommerziellen Gebrauch kostenlos)
- TextWrangler (Freeware)
- BBedit
- Textmate
F: Welche IDEs gibt es?
A: Zum Beispiel:
- Xcode
- Eclipse
F: Welche Compiler gibt es?
A: Standard ist gcc ("Gnu Compiler Collection") bzw. g++ (ein Teil von gcc)
F: Wie installiert man gcc?
A: Am einfachsten geht es, wenn man die ”Developer Tools" installiert. Diese sind auf den DVDs, die mit dem Mac geliefert werden. Bei der "Apple Developer Connection" kann man sich online kostenlos registrieren und die neuesten Sachen runterladen (Xcode usw.)
F: Wie erstellt man Schritt für Schritt mit Editor & gcc ein Programm?
A: Voraussetzung ist, dass gcc installiert ist und ein Editor da ist, z.B. Smultron oder SubEthaEdit.
1. Erstelle einen Ordner, in den die Dateien kommen, z.B. ~/HalloWelt
2. Programmiere was du willst, z.B. ein C++-Hallo-Welt-Programm:
3. Speichern, z.B. unter ~/HalloWelt/HalloWelt.cpp
4. Starte das Terminal und gehe in den Ordner ~/HalloWelt:
"cd HalloWelt/"
5. Compilieren:
"g++ HalloWelt.cpp -o HalloWelt"
Zum kompilieren reicht auch nur "g++ HalloWelt.cpp", dann heißt das erstellte Programm aber "a.out". Die Option "-o HalloWelt" erstellt ein Programm, dass dann auch HalloWelt heißt.
6. Ausführen:
"./HalloWelt"
Anmerkungen:
Empfehlenswert sind noch die Compiler-Flags "-Wall -pedantic -ansi". Dann werden beim Compilieren alle Warnungen angezeigt, außerdem wird auf den ANSI-Standard geachtet.
F: Wie erstellt man Schritt für Schritt ein C/C++-Programm mit Xcode?
A: Voraussetzung ist, dass die Developer Tools installiert sind.
In Xcode kann eine einzelne Datei nicht kompiliert werden, es muss immer ein Projekt erstellt werden, in dem die Datei enthalten ist.
1. Erstelle ein Projekt:
File -> New Project -> Command Line Utility -> C++ Tool
und gebe einen Projektnamen und Speicherort ein.
2. Clicke auf "Build and Go"
F: Was ist eine Makefile?
A: Unter Unix-Systemen, also auch OS X, kann man eine Makefile zum kompilieren verwenden. Dann lautet der Terminal-Behfehl nicht "g++ Datei.cpp AndereDatei.cpp -VieleOptionen -usw" sondern nur "make".
Dazu muss in dem Verzeichnis eine Datei "Makefile" sein, in der festgelegt wird, was wie mit welchen Optionen kompiliert wird.
Vorteil: "make" ist schnell getippt. Übersichtlicher bei vielen Dateien.
Nachteil: Makefiles können sehr kompliziert sein.
Hier ein eine einfache Beispiel-Makefile
Für "ProgrammName" muss eben der richtige Programmname eingesetzt werden. Für "Datei1.o Datei2.o Datei3.o" müssen die Quellcode-Dateien mit einem ".o" als Endung eingesetzt werden. Wenn man z.B. "main.cpp" und "MyClass.cpp" hat: "main.o MyClass.o"
Mit dem Terminal-Befehl "make clean" werden die ".o"-Dateien gelöscht, die beim compilieren entstehen. Das kann man zum "aufräumen" machen.
Mit dieser Makefile können Quellcode-Dateien mit Endungen ".cpp", ".cc" und ".c" kompiliert werden.
F: Mein C/C++-Quellcode wird nicht compiliert, obwohl es unter Windows geht. Warum?
A: Wenn es standardkonformer Quellcode ist, geht es auch auf dem Mac. Unter Windows kann man mit z.B. VisualC++ auch manche "unsauberen" Sachen kompilieren. Also ist wahrscheinlich der Code fehlerhaft.
Es kann auch sein, dass z.B. Header verwendet werden, die es nur unter Windows gibt, z.B. "conio.h".
F: Gibt es auch Xcode oder Programmier-Tool XYZ in Deutsch?
A: Nein. Alle Programmierer sprechen Englisch
In diesem FAQ sollen wichtige Fragen beantwortet werden, die Mac-Programmier-Anfänger haben.
F: Was braucht man zum C / C++-Programmieren auf dem Mac?
A: Zuerst muss man mit einem Editor den Code programmieren, dann kann daraus mit einem Compiler in ein Programm erstellen.
Es gibt zwei Wege das zu tun: Zum einen kann man einen Editor zum coden verwenden und den Code dann mit einem Compiler im Terminal kompilieren.
Zum anderen kann man eine IDE verwenden, also einen Editor, in dem ein Compiler bereits integriert ist.
F: Was sind die Vor- und Nachteile von Editor und separatem Compiler?
A: Vorteile:
- für kleine Projekte mit wenigen Dateien übersichtlich und schnell
- Editoren meist einfach zu bedienen
Nachteile:
- bei vielen Dateien und großen Projekten unübersichtlich
- Terminal-Grundkenntnisse nötig
F: Was sind die Vor- und Nachteile einer IDE?
A: Vorteile:
- Compilieren und Ausführen mit einem Click
- auch für große Projekte mit vielen Dateien geeignet
- einfaches Debuggen
Nachteile:
- IDEs sind anfangs unübersichtlich
F: Welche Editoren gibt es?
A: Zum Beispiel:
- Smultron (Open Source)
- SubEthaEdit (Version 2.2 für nicht-kommerziellen Gebrauch kostenlos)
- TextWrangler (Freeware)
- BBedit
- Textmate
F: Welche IDEs gibt es?
A: Zum Beispiel:
- Xcode
- Eclipse
F: Welche Compiler gibt es?
A: Standard ist gcc ("Gnu Compiler Collection") bzw. g++ (ein Teil von gcc)
F: Wie installiert man gcc?
A: Am einfachsten geht es, wenn man die ”Developer Tools" installiert. Diese sind auf den DVDs, die mit dem Mac geliefert werden. Bei der "Apple Developer Connection" kann man sich online kostenlos registrieren und die neuesten Sachen runterladen (Xcode usw.)
F: Wie erstellt man Schritt für Schritt mit Editor & gcc ein Programm?
A: Voraussetzung ist, dass gcc installiert ist und ein Editor da ist, z.B. Smultron oder SubEthaEdit.
1. Erstelle einen Ordner, in den die Dateien kommen, z.B. ~/HalloWelt
2. Programmiere was du willst, z.B. ein C++-Hallo-Welt-Programm:
Code:
#include <iostream>
using namespace std;
int main ()
{
cout << "Hallo Welt!\n";
return 0;
}
3. Speichern, z.B. unter ~/HalloWelt/HalloWelt.cpp
4. Starte das Terminal und gehe in den Ordner ~/HalloWelt:
"cd HalloWelt/"
5. Compilieren:
"g++ HalloWelt.cpp -o HalloWelt"
Zum kompilieren reicht auch nur "g++ HalloWelt.cpp", dann heißt das erstellte Programm aber "a.out". Die Option "-o HalloWelt" erstellt ein Programm, dass dann auch HalloWelt heißt.
6. Ausführen:
"./HalloWelt"
Anmerkungen:
Empfehlenswert sind noch die Compiler-Flags "-Wall -pedantic -ansi". Dann werden beim Compilieren alle Warnungen angezeigt, außerdem wird auf den ANSI-Standard geachtet.
F: Wie erstellt man Schritt für Schritt ein C/C++-Programm mit Xcode?
A: Voraussetzung ist, dass die Developer Tools installiert sind.
In Xcode kann eine einzelne Datei nicht kompiliert werden, es muss immer ein Projekt erstellt werden, in dem die Datei enthalten ist.
1. Erstelle ein Projekt:
File -> New Project -> Command Line Utility -> C++ Tool
und gebe einen Projektnamen und Speicherort ein.
2. Clicke auf "Build and Go"
F: Was ist eine Makefile?
A: Unter Unix-Systemen, also auch OS X, kann man eine Makefile zum kompilieren verwenden. Dann lautet der Terminal-Behfehl nicht "g++ Datei.cpp AndereDatei.cpp -VieleOptionen -usw" sondern nur "make".
Dazu muss in dem Verzeichnis eine Datei "Makefile" sein, in der festgelegt wird, was wie mit welchen Optionen kompiliert wird.
Vorteil: "make" ist schnell getippt. Übersichtlicher bei vielen Dateien.
Nachteil: Makefiles können sehr kompliziert sein.
Hier ein eine einfache Beispiel-Makefile
Code:
CC = gcc
CCLINK = g++
LIBS =
CCOPTIONS = -O -Wall -pedantic -ansi
LDOPTIONS =
HDRS =
PROGRAM = ProgrammName
OBJS = Datei1.o Datei2.o Datei3.o
$(PROGRAM): $(OBJS)
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LIBS)
clean:
rm -f $(PROGRAMS) $(OBJS)
%.o: %.cpp $(HDRS)
$(CC) $(CCOPTIONS) -c $<
%.o: %.cc $(HDRS)
$(CC) $(CCOPTIONS) -c $<
%.o: %.c $(HDRS)
$(CC) $(CCOPTIONS) -c $<
Mit dem Terminal-Befehl "make clean" werden die ".o"-Dateien gelöscht, die beim compilieren entstehen. Das kann man zum "aufräumen" machen.
Mit dieser Makefile können Quellcode-Dateien mit Endungen ".cpp", ".cc" und ".c" kompiliert werden.
F: Mein C/C++-Quellcode wird nicht compiliert, obwohl es unter Windows geht. Warum?
A: Wenn es standardkonformer Quellcode ist, geht es auch auf dem Mac. Unter Windows kann man mit z.B. VisualC++ auch manche "unsauberen" Sachen kompilieren. Also ist wahrscheinlich der Code fehlerhaft.
Es kann auch sein, dass z.B. Header verwendet werden, die es nur unter Windows gibt, z.B. "conio.h".
F: Gibt es auch Xcode oder Programmier-Tool XYZ in Deutsch?
A: Nein. Alle Programmierer sprechen Englisch