[linux-l] Makefiles, Autoconf, Automake (was: c++ lernen)

Steffen Dettmer steffen at dett.de
Di Aug 7 22:23:42 CEST 2007


* Volker Grabsch wrote on Tue, Aug 07, 2007 at 11:16 +0200:
> On Mon, Aug 06, 2007 at 01:18:56PM +0200, Ivan F. Villanueva B. wrote:
> > Am Mo, Aug 06, 2007 10:48:17 +0200, Volker Grabsch schrieb:
> >  
> > > Ich schreibe mir meistens ein Makefile mit einem Target "run" oder
> > > "test", sodass ich via "make run" das Programm starten/testen kann.
> > 
> > Könntest Du mir ein Beispiel von so einem Make-File geben?
> 
> Vorab: Einen Trick habe ich vergessen zu nennen. Du brauchst eigentlich
> kein "make run". Vim kann auch:
> 
>     :make && ./mein-programm

Starten kann man auch
:!./mein-programm

Dann zu Steffen Schulz:

> http://www.faqs.org/docs/Linux-HOWTO/C-editing-with-VIM-HOWTO.html

prima link

> http://www.matasano.com/log/914/c-a-cautionary-tale-or-1-hour-of-your-black-hat-trip-is-spoken-for/

kann es sein, dass der Autor RAII nicht so richtig verinnerlicht hat?
 (Wer ohne Not mit Pointern arbeitet, macht oft was falsch. Exceptions
  in Java und C++ sind überhaupt nicht vergleichbar, weil man C++ für
  Stackobjekte garantiert, destructoren aufzurufen, so dass ein Autor
  kein catch (...) sondern einfach einen Destruktor benutzt. In C++ wird
  ein Destructor aufgerufen, wenn der Constructor geklappt hat, das gilt
  auch für Aggregate; damit kann man oft ein Teile-Und-Herrsche
  aufbauen, weil man sich nur um das kümmern muss (z.B. freigeben oder
  löschen), um was man sich kümmert (erzeugt und benutzt) :)
  Aber das hatten wir ja alles schon)

zu Iván:
> http://www.eclipse.org/downloads/moreinfo/c.php

Das ist "das" Eclipse-C-Plug-In, mit gdb support und so? Dann kenne ich
es ein bisschen unter Windows. Meiner persönlichen Meinung nach ist es
schlecht, weil langsam "und wieder anders". Da ist mir das alte MS
Visual Studio 6 ja noch lieber. Ich arbeite vom vim aus (:make +
quickfix, etags, paar Extras, vert diffsplit), habe ein xterm mit vim,
ein zweites mit gdb (gdb kann auch das "make" Kommando), damit komme ich
gut klar. Ich hab oft noch ein "notes" Editorfenster/buffer, da kann man
Kommandos via copy&paste fix speichern. Die Testtreiber sind meist auch
entsprechend, z.B. ein usage-Beispiel, was via copy&paste funktioniert.
Das geht einfach schnell dank mittlerer Maustaste.

Das hängt aber ab, was man gewohnt ist. Manche wünschen sich vielleicht,
dass alle bekannten Funktionen in einer bestimmten Farbe dargestellt
werden, das geht z.B. mit vim nicht gut (nur über Tags und eigene
Scripts, neue Funktionen werden also erst nach make gefärbt). Es gibt
weitere Features von Eclipse und anderen IDEs, die man schlecht
generisch emulieren kann (also mit einem nicht-speziellen Editor, der
auch Mail etc kann). 

Ich glaube, Eclipse und sowas versagt schnell, wenn man mehrsprachig
arbeitet. Ich hab z.B. zwei oder drei "aktive" Eclipseinstallationen,
weil da Plugins nicht zusammenspielen, aber schnell mal ein Perlscript
debuggen geht einfach nicht. Oder ich weiss nicht wie, was kein Wunder
wäre, weil ich das ja nicht nutze (sowas braucht ja Übung).

vim kann vieles, was sonstnoch sinnvoll ist, was man erst merkt, wenn
man es braucht, z.B. "vim scp://user@host/einedatei.txt", was fein ist,
wenn man schnell mal was remote nachgucken muss, oder :vert diffsplit.
Braucht man meist nicht, sind erstmal ziemlich esotersische Features,
aber spart ein Script und ist einfach :)

Für mich ist vor allem performance wichtig, also ich
"drücke-und-Ergebnis-da", muss auch über SSH gehen, weil ich selten
lokal arbeite (Backups etc), da scheiden GUIS (IDEs) dann sowieso aus.

oki,

Steffen




Mehr Informationen über die Mailingliste linux-l