next up previous contents
Nächste Seite: 2.6 Programmiersprache Pascal Aufwärts: 2. Emacs als Programmierumgebung Vorherige Seite: 2.4 Compilierung   Inhalt

2.5 Programmiersprache C und C++

Nicht nur die Syntax wird automatisch hervorgehoben, sondern auch der Menubar wird kontext-abhängig geändert (siehe Bild 6).

Abbildung 6: hello.c File, dargestellt im C-Mode
\begin{figure}
\begin{center}
\fbox {\epsfig{file=xemacs-cmode.ps, width=120mm}} \end{center}\end{figure}

Wie C-Code eingerückt werden soll, ist Geschmacksache. Über Geschmack lässt sich ja bekanntlich nicht streiten. Hier ein Stück Code, den man einrücken will (Beispiel mit der alten Function Type):


int times (x, y)
int x, y;
{
int i;
int result = 0;

for (i = 0; i < X; i++)
{
result += y;
}
}

Folgende C-Codierstile sind verfügbar (kann man einstellen mit M-x c-set-style RET style RET):

cc-mode
Ursprünglicher Codierungsstil. Alle anderen Stile sind von diesem Stil abgeleitet worden.

int times (x, y)
    int x, y;
{
    int i;
    int result = 0;

    for (i = 0; i < X; i++)
        {
            result += y;
        }
}
gnu
Stil indem z.B. der Emacs und andere GNU Programme geschrieben wurden. Dieser Stil ist an der HSZ der Default-Stil.

int times (x, y)
     int x, y;
{
  int i;
  int result = 0;

  for (i = 0; i < X; i++)
    {
      result += y;
    }
}
Ich selbst ziehe die kompakte Schreibweise vor, d.h. die öffnende geschwungene Klammer auf der gleichen Zeile wie die Strukturanweisung (hier auch mit der ANSI Schreibweise des Function Type):

int times (int x, int y) {
  int i;
  int result = 0;

  for (i = 0; i < X; i++) {
    result += y;
  }
}

k&r
Einrückung wie aus dem bekannten Buch The C Programming Language von Kerninghan und Ritchie.

int times (x, y) 
int x, y;
{
     int i;
     int result = 0;

     for (i = 0; i < X; i++) 
     {
          result += y;
     }
}

bsd
Stil benützt für die BSD Version des UNIX.
stroustrup
C++ Codierungsstil wie er im Buch von Bjarne Stroustrups Buch The C++ Programming Language verwendet wird.

Es gibt auch noch andere Stile wie whitesmith, ellemtel, linux, python und java, auf die ich hier nicht näher eingehen will. Möglicherweise sind aber bis heute noch mehr Stile dazugekommen (vielleicht haben Sie einen neuen Stil kreiert ;-).

Den Debugger für den GNU C-Compiler startet man mit M-x gdb RET. Als Namen gibt man das ausführbare File (Binary) an. Breakpoints kann man im Source-File mit C-x SPC einschalten.

Für den DEC C oder den Solaris Compiler verwendet man den dbx, er wird mit M-x dbx RET gestartet. Weiteres entnehme man dem man.


next up previous contents
Nächste Seite: 2.6 Programmiersprache Pascal Aufwärts: 2. Emacs als Programmierumgebung Vorherige Seite: 2.4 Compilierung   Inhalt
Peter Schmid
2001-01-08