Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
C++ Programmieren unter Linux

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
oli



Anmeldungsdatum: 25.12.2000
Beiträge: 46

BeitragVerfasst am: 29. Dez 2000 23:47   Titel: C++ Programmieren unter Linux

Hi Leute,

ich hab' mir jetzt mal vorgenommen, mit dem C++ Programmieren anzufangen. Dazu noch einige Fragen:

Gibt es irgendwo ein vernünftiges Tutorial, das zum Einstieg geeignet ist? Unter "vernünftig" verstehe ich, das es nicht gleich mit 60 Seiten ankommt, denn schließlich muß ich auch noch meiner Ausbildung nachkommen ))

Tja, desweiteren würde mich mal interessieren, wie dieser ganze Spaß mit den Pointern funktioniert. Ich hab' zwar ein Buch, aber das erklärt Pointer nur im Zusammenhang mit dem durchlaufen von char[] arrays. Ein englischsprachiges Tutorial brachte auch (noch) nicht den gewünschten Erfolg. Und ich verstehe einfach Ausdrücke wie "some_function(char *, int numbers[])" nicht!

Und abschließend wollte ich noch mal fragen ob mir jemand erklären kann, wie man dynamisches und statisches Linken macht. Wo genau ist der Unterschied und was muss ich dem g++ mitgeben, damit er das macht was ich will ?

Vielen Dank schon mal im voraus

Oliver

P.S.: Warum ist hier in letzter Zeit eigentlich so wenig los?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 30. Dez 2000 7:05   Titel: Re: C++ Programmieren unter Linux

Guten Morgen! (Oh jeh, ich muss demnächst schlafen gehen...)

Tutorials gibt es tausende, ein besonders gutes wüsste ich gerade nicht, aber irgendwer kann dir da bestimmt was empfehlen.

Zum allgemeinen Verständnis von Zeigern: Wenn du die Funktion

void foo (int i) { i++; }

hast und machst dann

int bar = 4711;
foo (bar);

wird danach bar immer noch 4711 sein, weil nur eine Kopie übergeben wurde. Wenn du den Wert einer Variablen in einer Funktion ändern willst, musst du eben über einen Zeiger gehen (man kann alternativ auch eine Referenz nehmen).

void foo (int *i) { (*i)++; }

int bar = 4711;
foo (&bar);

Ganz einfach, oder? :)

Zu dem Ausdruck: Er ist nicht vollständig, sondern nur ein aus dem Kontext gerissener Ausschnitt, der in C++ so alleine nicht stehen kann. Sieht aus wie die Deklaration einer Funktion mit zwei Parametern (der Rückgabewert fehlt, in C++ gibt's kein implicit-int mehr wie in C). Dabei sind die Namen der Parameter nicht angegeben, nur die Typen. Der erste ist ein Zeiger auf einen char, der zweite ein Zeiger auf einen int (ja, auch das ist ein Zeiger, weil ein Array nur übergeben werden kann, indem man einen Zeiger auf ein Element des Arrays übergiebt).

In einem statischen Binary sind alle Bibliotheken, die es verwendet, enthalten, also reine Platzverschwendung. Bei dynamisch gelinkten Binarys werden Bibliotheken beim Aufruf des Programms gegen das Programm gelinkt. Der Code der Bibliothek muss auch nur einmal geladen sein, wenn mehrere Programme, die gleichzeitig laufen, diese Bibliothek verwenden. Das Standardverhalten von gcc ist deshalb dynamisches Linken; statisch kann man es machen lassen, indem man die Option -static angiebt.

Cheers,
Wolfgang

PS: Gegenfrage: Warum sollte hier mehr los sein?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy