c oder c++ ?

melmager

Erfahrenes Mitglied
mittlerweile habe ich es geschafft .. :)

ich habe ne anleitung gefunden wie man den compiler anschmeisst
hello world geht in c und c++ (bei gcc)
stolz bin :)

1. frage warum muss main int sein bei c++
ettliche codes habe ich mit void gesehen aber da mault der compiler..

2. frage ist es egal ob eine externe lib in c oder c++ ist? kann ich die bei beiden versionen
benutzen ??

und wenn nein wie erkenne ich am schnellsten ob ein xxxx.h libfile in c oder c++ ist?
 
Da wollte ich gerade auf Deinen ersten Thread antworten, aber nein... er schafft es selber. :rolleyes: :)
Naja, in jedem Fall compiliert man C-Programme mit gcc und C++-Programme mit g++.

Um Deine beiden neuen Fragen zu beantworten, bevor Du das auch wieder selbst schaffst:
Die main-Funktion sollte vom Rückgabetyp her int sein, weil diese Funktion vom Betriebssystem aufgerufen wird und zurückgibt, wie das Programm beendet wurde. Bei manchen Compilern (z.B. Visual C++) kann man main auch als void definieren, aber richtig wird es dadurch nicht - auch wenn Microsoft das wahrscheinlich gerne hätte.
Zur zweiten Frage: Wenn Du Programme in C schreibst, kannst Du (ziemlich wahrscheinlich) keine C++-Codes mit einbinden. Anders rum sollte das aber kein Problem sein, weil C++ alles kann, was C auch kann.
Am schnellsten erkennt man die Unterschiede daran, ob Objektorientierung vorhanden ist oder nicht. cout und cin sind Objekte aus C++, die Gegenstücke aus C sind die Funktionen printf() und scanf(). Ansonsten ist der grösste Unterschied tatsächlich die Objektorientierung, die es in C einfach nicht gibt.
 
naja war schon abenteuerlich es gibt 100 versionen von c/c++ wie es aussieht ( macht mut *g* )

bis ich raus hatte welche include er mag
mit oder ohne h hinten dran ; mit oder ohne <>
aufruf mit g++ obwohl einige behaupten mit gcc geht auch ...
ach dem motto die endung sagt dem gcc was es ist (stimmt scheinbar nicht)
<frechwerd>
wie konnte so ein chaos eigendlich standart werden ?
</frechwerd>

jedenfalls nach deiner antwort werde ich mich wohl besser in c++
einarbeiten da ich ja damit alles machen kann was c kann und auch c
einbinden kann ...

muss ich mich bei g++ auch mit makefile rumärgern? wenn ja bräuchte ich mal ein link der mir mal klarmacht war der blödsinn soll und wie man sowas baut ....
 
wie konnte so ein chaos eigendlich standart werden ?
Das eigentliche Chaos entsteht ja eher dadurch, dass es etliche Versionen gibt, die sich nicht an den Standard halten. Die Sprache an sich ist zwar relativ schwer zu lernen, aber alles andere als chaotisch. Ich würde mal vorschnell behaupten, dass gcc bzw. g++ sich am ehesten an die festgelegten Standards halten. Alle anderen weichen da immer etwas ab.
Zumal C und auch C++ sowieso auf Unix-Betriebssystemen entstanden sind, liegt es am nächsten, dass man auf Unix-Derivaten auch am besten damit klarkommen wird. ;)

muss ich mich bei g++ auch mit makefile rumärgern? wenn ja bräuchte ich mal ein link der mir mal klarmacht war der blödsinn soll und wie man sowas baut ....
Makefiles hab ich zwar noch nie benutzt, aber soweit ich weiss sind die dazu da, um die Vorgänge des Compilierens etwas zu automatisieren. Also stehen in dieser Datei alle notwendigen Anweisungen, die man braucht um aus dem Quelltext eine ausführbare Anwendung zu machen.
HolyFly oder goela können Dir da sicher mehr drüber erzählen.
 
Original geschrieben von asphyxia

Makefiles hab ich zwar noch nie benutzt, aber soweit ich weiss sind die dazu da, um die Vorgänge des Compilierens etwas zu automatisieren. Also stehen in dieser Datei alle notwendigen Anweisungen, die man braucht um aus dem Quelltext eine ausführbare Anwendung zu machen.
HolyFly oder goela können Dir da sicher mehr drüber erzählen.

Noe nicht kann ich nicht :)

Naja du hast das schon ganz korrekt erzählt assfütze ;)
<assfütze> war eigentlich alles nur geraten... :rolleyes: </assfütze>

Makefiles sind so "never touch" files :)

Makefiles macht einem die IDE und selber habe ich noch nie mit gearbeitet.
Aber Java macht immo eh mehr spass als C++ :)
 
Wieso Chaos? Alles hat System!
bis ich raus hatte welche include er mag
mit oder ohne h hinten dran ; mit oder ohne <>
include <XZX> = Sucht er Compiler in den Verzeichnissen, die in der Umgebung definiert sind. System- bzw. C++ Includes
incluce "xxx.x" = Lokal im Verzeichnis und auch in der Umgebung.
HolyFly oder goela können Dir da sicher mehr drüber erzählen.
Jawohl. Mit makefiles sind wie Batch-Dateien. Dort sind Anweisungen drin um den Compiler, Linker usw. aufzurufen, die es braucht um eine EXE oder LIB usw. zu erzeugen.
Visual Studio erzeugt ebenfalls Makefiles. Mit diesen Makefiles kann man ein grösseres Projekt in der Konsole compilieren.

Makefiles werden heute meist im Hintergrund verwendet.
 
Zuletzt bearbeitet:
werde mal diverse online lehrgänge durchforsten

aber was ich noch nicht gefunden habe:

eine übersicht von libs die c++ so mir liefert plus eine liste von den fuctionen mit kurzbeschreibung

wo gibt es die denn?

Nachtrag:

aus dem konsolen programm hier im tread

int main(int argc, char **argv)

warum eigendlich pointer vom pointer bei
argv

einmal pointer hätte ich ja noch verstanden ..
 
Zuletzt bearbeitet:
eine übersicht von libs die c++ so mir liefert plus eine liste von den fuctionen mit kurzbeschreibung
wo gibt es die denn?
Eine richtige "Befehlsreferenz" gibt es für C und C++ nicht (zumindest ist mir keine bekannt). Aber es gibt etliche Online-Kurse, Ebooks und natürlich auch richtige Bücher. Links dazu stehen in diesem Forum hier oben in einem eigenen Thread und hier gibt es auch noch was. :)

int main(int argc, char **argv)
warum eigendlich pointer vom pointer bei argv
Das geht auch mit nur einem Pointer, allerdings muss man argv dann als Array definieren (char *argv[]), weil es ja mehrere Zeichen (bzw. Zeichenketten) enthalten soll.
 
so habe mir gerade cgicc besorgt

steht alles möglich drin nur nicht in welches verzeichnis das ding am besten sollte

mit andren worten wo haut man standartmässig libs hin die man nutzen möchte?
 

Neue Beiträge

Zurück