next up previous contents
Nächste Seite: 2.5 Programmiersprache C und Aufwärts: 2. Emacs als Programmierumgebung Vorherige Seite: 2.3 Dateien vergleichen (ediff)   Inhalt

2.4 Compilierung

Die Compilation wird mit M-x compile oder mit f17 gestartet. Um erfolgreich compilieren zu können, muss ein Makefile vorhanden sein. Ein solches Makefile kann etwa für C folgendermassen aussehen (für GNU C Compiler):


NAME=hello              # durch Programm-Namen ersetzen

CC=cc                   # Standard UNIX: cc, GNU: gcc, Borland: tcc
SRC=$(NAME).c
EXE=$(NAME)             # Windows benutzt .EXE als Endung

FLAGS = -g
# -g == add sybolic debuginformation
# -o == gernerate the output file, in this case the exe-file
all:    $(NAME)

$(NAME):$(SRC)  
        $(CC) $(FLAGS) -o $(EXE) $(SRC)

clean:
        rm -f $(NAME).l core *~

Die Meldungen des Compilers werden in den Buffer *compilation* geschrieben (siehe auch Bild 7). Mit der Taste f14 kann man zum nächsten Fehler springen. Für ein C++ Programm könnte das Makefile etwa so aussehen.


NAME=hello              # durch Programm-Namen ersetzen

CC=g++                  # Standard UNIX: CC, GNU: g++, Borland: tcc
SRC=$(NAME).cc          # Windows Compiler benutzen meist .cpp
BIN=$(NAME)             # Windows benutzt .EXE als Endung

CFLAGS = -g 
# -g    == mit Debugger Infos
# -Wall == alle Warnungen eingeschaltet

all:    $(NAME)

$(NAME):$(SRC)  
        $(CC) $(CFLAGS) -o $(BIN) $(SRC)

clean:
        rm -f $(NAME).l core *~

Ich empfehle für jedes Programm ein eigenes Unterverzeichnis zu erstellen. Wenn man den GNU C-Compiler verwenden möchte, ersetzt man cc durch gcc. hello muss man natürlich durch den Filenamen des zu übersetzenden Programmes ersetzen.



Peter Schmid
2001-01-08