Mentor gesucht: Helft einen Anfänger!


nibel

Active Member
Joined
Nov 17, 2005
Messages
520
Hi,
ich habe vor kurzem angefangen C zu lernen.
So weit so gut, allerdings werfen sich manchmal Fragen zu Programmier-Werkzeugen oder auch zur Sprache selber auf.
Es wäre toll wenn es unter euch eventuell Leute gibt, die sich solcher Problemchen annehmen koennen und mir hin und wieder mit Rat zur Seite stehen, am besten per Jabber oder ICQ.

Vielen Dank schon mal im Vorraus. :)
 
ich hab auch meine diplomarbeit in c/c++ geschrieben, und hier im offtopic bereich wurde mir meisst schnell und kompetent geholfen, poste einfach deine fragen, und ich und viele andere die es besser können als ich werden dir versuchen zu helfen...
 
jo, dem kann ich mich nur anschließen...
immer her mit den Fragen

und nicht vergessen: Datensalat enthält viel Vitamin C++
 
Ok dann hab ich schon einmal eine Frage:
Was genau sind FLAGS die werden andauernd in zusammen hang mit compilern vornehmlich gcc erwähnt und scheinen irgend etwas zu steuern, doch in wie weit unterscheiden die sich von normalen optionen und wo finde ich docs dazu?

edit: kann sein das ich etwas falsch verstnaden habe, zumindestens passt hier einiges nicht zusammen ^^ denn hier steht das FLAGS Varaiblen sind die nur 2 zwei zustände annhemen koennen.
 
Das stimmt. Flags sollten nur 2 Zustände annehmen. Die sind aber nicht c-spezifisch.

Man kann sie zum Beispiel dazu einsetzen, um einen Konflikt mit Ressourcen zu vermeiden:
Wenn Du ein Programm hast, dass auf eine bestimmte Datei von mehreren Orten (also aus mehreren Funktionen heraus) schreiben kann, und dieses schreiben kann auch noch gleichzeitig passieren - dann ist es sinnvoll, einen flag zu verwenden.

Ohne Flag:
Funktion 1 will in die Datei schreiben und macht das auch
Funktion 2 will in die Datei schreiben und macht das auch, bevor Funktion 1 fertig ist

Ergebnis: Die Datei ist korrupt - d.h. sie weiss nicht, welchen Zustand sie haben soll.

Mit Flag:
Funktion 1 möchte in die Datei schreiben:
F1 prüft, ob der Flag 0 ist.
Ist flag==1:
F1 muss warten, bis flag==0
Ist flag==0:
F1 setzt den flag auf 1 // damit F2 warten muss, bis er wieder auf 0 steht
F1 schreibt in die Datei
F1 setzt flag wieder auf 0

somit ist gewährleistet, dass die Datei immer nur von einer Funktion beschreiben wird.

Natürlich gibt es noch viel mehr Anwendungsmöglichkeiten für flags...

Im gcc gibt es auch sogenannte flags. Damit kann man in der Kommandozeile Optionen setzen. Zum Beispiel die Option "-Wall". Schreibt man gcc -Wall undsoweiter, wird beim Compilieren ein Flag gesetzt, der auslöst, dass Dir mehr Warnungen angezeigt werden.

Falls Du unter Linux arbeitest (machst Du das?) kannst Du in der Kommandozeile einfach den Befehl "man gcc" eingeben. Dann kommst Du in die manual - Seiten des gcc, wo alle Optionen / Flags aufgelistet sind. [Mit der Return-Taste bewegst Du die Datei weiter nach unten, mit der Taste Q beendest Du das man-Programm]
 
Arbeite schon lange mit Debian Linux.
Hmm man find ich immer prkatisch bis auf zB: man gcc oder man python...
so umfangreiche manpages sind voll anstrengend...
 
Back
Top