• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

C-Anfänger: Compiler-Problem

DaggettBeaver

Spiele-Novize/Novizin
Mitglied seit
07.12.2007
Beiträge
189
Reaktionspunkte
0
C-Anfänger: Compiler-Problem

Fange gerade an, mich mit C zu befassen und hab mir dazu den lcc-win32-compiler runtergeladen. Klappt auch alles wie am Schnürchen. Allerdings wenn ich ein neues Projekt erstellen und kompilieren will unter dem selben Namen, bekomme ich immer gesagt, dass ein Projekt mit diesem Namen bereits existiert, auch wenn ich alle betreffenden Dateien mit dem betreffenden Namen aus dem lcc\\projects Ordner und aus diversen anderen Ordnern gelöscht habe.

Ich bin hier wirklich bald am verzweifeln, da ich nicht weiß, wo der das immer wieder findet, obschon ich alles durchkämmt hab!!! :| Wäre froh, wenn mir jemand weiterhelfen könnte!
 
AW: C-Anfänger: Compiler-Problem

Warum versuchst du es nicht einfach mit Visual Studio Express? Ist für Anfänger eigentlich sehr gut geeignet. Du musst die Dateien nur von .cpp bzw .hpp in .c und .h umbennen. Sonst denkt er nämlich das sei C++.
 
AW: C-Anfänger: Compiler-Problem

Onlinestate am 13.09.2008 22:33 schrieb:
Du musst die Dateien nur von .cpp bzw .hpp in .c und .h umbennen. Sonst denkt er nämlich das sei C++.
Da komm ich jetzt nicht mit. Was für .cpp und was für .hpp Dateien? Sprichst du jetzt schon vom visual studio?

Mal wegen dem Visual Studio: Könnt ich ja mal versuchen. Allerdings muss ich sagen, dass bis jetzt nur der lcc das konnte, was in dem Lernbuch ("Jetzt lerne ich C" von Peter Monadjemi u. Eckart Winkler) steht. Hab mal bloodshed ausprobiert, und der beklagte sich schon bei "void main()" und wollte int haben.
 
AW: C-Anfänger: Compiler-Problem

Ich weiß nicht, ob das immer noch so bei Visual Studio ist. Der Compiler unterscheidet da anhand der Dateiendung, ob das Projekt C++ oder C ist. Bei C++ enden die Dateien auf .cpp und .hpp, bei C jedoch auf .c und .h (sollte dir bekannt vorkommen). Dort gab es zumindest früher keine Option ein C-Projekt zu starten, sodass man ein C++-Projekt macht und dann die Dateinamen umänderte.
Aber ganz abgesehen davon ist Visual Studio als Entwicklungsumbegung für C/C++ einfach ganz angenehm.
Und soweit ich weiß entspricht es dem ANSI-C-Standard, dass die main-Methode ein Integer als Return-Wert hat. Manche Compiler bieten auch Funktionen, die nicht im ANSI-Standard enthalten sind. Bei Visual Studio gibts da zB einiges, was in der conio.h enthalten ist und der alte Borland Compiler hat auch seine Eigenheiten.
Ich denk aber es wäre am sinnvollsten den ANSI-Standard zu lernen, damit sollten auch alle Compiler zurechtkommen.
 
AW: C-Anfänger: Compiler-Problem

Onlinestate am 14.09.2008 13:25 schrieb:
Ich weiß nicht, ob das immer noch so bei Visual Studio ist. Der Compiler unterscheidet da anhand der Dateiendung, ob das Projekt C++ oder C ist. Bei C++ enden die Dateien auf .cpp und .hpp, bei C jedoch auf .c und .h (sollte dir bekannt vorkommen). Dort gab es zumindest früher keine Option ein C-Projekt zu starten, sodass man ein C++-Projekt macht und dann die Dateinamen umänderte.
Aber ganz abgesehen davon ist Visual Studio als Entwicklungsumbegung für C/C++ einfach ganz angenehm.
Okay, jetzt ist das klar. Hab das mit Visual Studio noch nicht in angriff genommen. Ein Versuch wär es wert.
Onlinestate schrieb:
Und soweit ich weiß entspricht es dem ANSI-C-Standard, dass die main-Methode ein Integer als Return-Wert hat. Manche Compiler bieten auch Funktionen, die nicht im ANSI-Standard enthalten sind. Bei Visual Studio gibts da zB einiges, was in der conio.h enthalten ist und der alte Borland Compiler hat auch seine Eigenheiten.
Ich denk aber es wäre am sinnvollsten den ANSI-Standard zu lernen, damit sollten auch alle Compiler zurechtkommen.
Ich weiß. Aber das Buch hat den Untertitel "Der einfache Einstieg in ANSI C...", weshalb ich davon ausgehe, dass ich damit im Grunde gut fahre. Hab auch bei besagtem bloodshed Compiler das void gg. int (Datentyp?) ausgetauscht, allerdings bleib die Konsole dann nit auf dem Schirm, sondern flackerte nur kurz auf. Grade am Anfang will ich nicht zu viel rumbasteln und rumprobieren müseen, sondern mich darauf verlassen, was in der Buchanleitung steht. Immerhin hab ich endlich ein Buch gefunden, das ich kapier :).
 
AW: C-Anfänger: Compiler-Problem

DaggettBeaver am 14.09.2008 15:00 schrieb:
allerdings bleib die Konsole dann nit auf dem Schirm, sondern flackerte nur kurz auf.
Also, wenn du das Programm in der Konsole (also Windows-Konsole) startest, was ja schon recht mühsam ist, sollte die Ausgabe nicht verschwinden. Weiß jetzt nicht, wie das mit deiner Entwicklungsumgebung ist, da du eigentlich nur den Compiler erwähnst, aber wenn du am Ende nicht noch auf eine Tastatureingabe wartest (zB getchar()), dann beendet das Programm einfach und ist wech.
 
AW: C-Anfänger: Compiler-Problem

Onlinestate am 14.09.2008 15:10 schrieb:
Also, wenn du das Programm in der Konsole (also Windows-Konsole) startest, was ja schon recht mühsam ist, sollte die Ausgabe nicht verschwinden.
Ja, das ist mühsam, weshalb ich es möglichst umgehen will am Anfang ;).
Onlinestate schrieb:
Weiß jetzt nicht, wie das mit deiner Entwicklungsumgebung ist, da du eigentlich nur den Compiler erwähnst, aber wenn du am Ende nicht noch auf eine Tastatureingabe wartest (zB getchar()), dann beendet das Programm einfach und ist wech.
Also, nach meinem Verständnis ist doch die Entwicklungsumgebung im Compiler integriert - bzw. umgekehr? Ich weiß schon, der Compiler ist nur ein Programm, dass den Quellcode umwandelt, aber man muss ja irgendwo was reinschreiben... "getchar()" sagt mir soweit noch nichts. Jedenfalls gibt es im Programm keine explizite Anweisung zur Eingabe oder irgendwas. Komischerweise bleibt beim Ausführen mit lcc-win32 Compiler die Windows-Konsole stehen und fordert eine beliebige Tasteneingabe um sich verabschieden zu können.

Das ist echt verwirrend, dass C standardisiert ist und trotzdem alles je nach Compiler verschieden läuft.

Abgesehen davon hat wohl niemand eine Antwort auf meine eingangs gestellt Frage. Denn es juckt mich ja schon, rauszufinden, wo es da hakt (abgesehen davon ob ich wieder mal den Compiler wechsle oder nicht ).
 
AW: C-Anfänger: Compiler-Problem

DaggettBeaver am 14.09.2008 16:41 schrieb:
Komischerweise bleibt beim Ausführen mit lcc-win32 Compiler die Windows-Konsole stehen und fordert eine beliebige Tasteneingabe um sich verabschieden zu können.

Das ist echt verwirrend, dass C standardisiert ist und trotzdem alles je nach Compiler verschieden läuft.

Abgesehen davon hat wohl niemand eine Antwort auf meine eingangs gestellt Frage. Denn es juckt mich ja schon, rauszufinden, wo es da hakt (abgesehen davon ob ich wieder mal den Compiler wechsle oder nicht ).

Wenn der Programmcode in main() abgearbeitet ist, wird in der Regel 1 (true) zurückgegeben, was dann das Programm beendet. Wenn main() vom Typ void ist kann genau dies nicht passieren und das Programm beendet sich nicht.
 
AW: C-Anfänger: Compiler-Problem

Also ich kenn keinen der von dir genannten Compiler, deswegen kann ich dir dazu nicht helfen. Aber der Compiler ist wirklich nur für die Umwandlung von Quellcode in Maschinencode zuständig. Man kann den Quelltext ja auch mit Notepad schreiben und dann manuell kompilieren. Die Entwicklungsumgebung bietet das alles unter einem Hut, sowie noch die ganzen anderen angenehmen Dinge, Linker, usw.
Dass eine beliebige Tasteneingabe verlangt wird liegt alleine an Windows. Diese Anfrage kommt eigentlich auf den pause oder stop befehl, welcher anscheinend von deiner Entwicklungsumgebung automatisch gesendet wird bzw weis nicht genau wie das Windows handhabt.
Die Unterschiede der Compiler sind meist auch historisch gewachsen und jeder will da eben Abwärtskompatibel bleiben.
 
AW: C-Anfänger: Compiler-Problem

Onlinestate am 15.09.2008 17:57 schrieb:
Also ich kenn keinen der von dir genannten Compiler, deswegen kann ich dir dazu nicht helfen.
Schade, schade, denn ich wüsste echt gerne, wo immer wieder noch Dateien mit dem Namen der eigentlich schon gelöschten Dateien versteckt sein sollen... (-> s. erter Beitrag)

Onlinestate am 15.09.2008 17:57 schrieb:
Aber der Compiler ist wirklich nur für die Umwandlung von Quellcode in Maschinencode zuständig. Man kann den Quelltext ja auch mit Notepad schreiben und dann manuell kompilieren.
Da hab ich mich schon immer gefragt wie das geht, da ich davon schon gehört habe. Allerdings ist das viell. für den Anfänger zu knifflig. Aber da will ich auf jeden Fall irgendwann rausfinden, wie man das machen kann - so ganz puristisch.

Onlinestate am 15.09.2008 17:57 schrieb:
Die Entwicklungsumgebung bietet das alles unter einem Hut, sowie noch die ganzen anderen angenehmen Dinge, Linker, usw.
Ja, da bin ich letztens drauf gestoßen. Zunächst dachte ich nämlich, das, was ich als Entwicklungsumgebung vorfand, SEI der Compiler (der steckt wohl irgendwo im bin-Ordner).

Wegen dem Visual Studio, das du mir empfohlen hast: Das ist wohl erst mal 'ne Nummer zu groß für mich ;). Wie du schon sagtest, es ist eigentlich rein was für C++. Du sagtest zwar, man könne einfach die Endungen in .c bzw. .h ändern aber... nee, nee :) Allein die umfangreiche Entwicklungsumgebung (wie ich ja jetzt gelernt habe) hat mich schlicht überfordert. Ist aber auch ein Monstrum. Das hat ewig gedauert, bis es überhaupt mal zur Anwendung bereit auf dem Rechner installiert war!
 
AW: C-Anfänger: Compiler-Problem

DaggettBeaver am 16.09.2008 00:32 schrieb:
Onlinestate am 15.09.2008 17:57 schrieb:
Also ich kenn keinen der von dir genannten Compiler, deswegen kann ich dir dazu nicht helfen.
Schade, schade, denn ich wüsste echt gerne, wo immer wieder noch Dateien mit dem Namen der eigentlich schon gelöschten Dateien versteckt sein sollen... (-> s. erter Beitrag)

Onlinestate am 15.09.2008 17:57 schrieb:
Aber der Compiler ist wirklich nur für die Umwandlung von Quellcode in Maschinencode zuständig. Man kann den Quelltext ja auch mit Notepad schreiben und dann manuell kompilieren.
Da hab ich mich schon immer gefragt wie das geht, da ich davon schon gehört habe. Allerdings ist das viell. für den Anfänger zu knifflig. Aber da will ich auf jeden Fall irgendwann rausfinden, wie man das machen kann - so ganz puristisch.

Onlinestate am 15.09.2008 17:57 schrieb:
Die Entwicklungsumgebung bietet das alles unter einem Hut, sowie noch die ganzen anderen angenehmen Dinge, Linker, usw.
Ja, da bin ich letztens drauf gestoßen. Zunächst dachte ich nämlich, das, was ich als Entwicklungsumgebung vorfand, SEI der Compiler (der steckt wohl irgendwo im bin-Ordner).

Wegen dem Visual Studio, das du mir empfohlen hast: Das ist wohl erst mal 'ne Nummer zu groß für mich ;). Wie du schon sagtest, es ist eigentlich rein was für C++. Du sagtest zwar, man könne einfach die Endungen in .c bzw. .h ändern aber... nee, nee :) Allein die umfangreiche Entwicklungsumgebung (wie ich ja jetzt gelernt habe) hat mich schlicht überfordert. Ist aber auch ein Monstrum. Das hat ewig gedauert, bis es überhaupt mal zur Anwendung bereit auf dem Rechner installiert war!

Also ich hab auch mit Visual c++ Express Edition angefangen und ich find den eigentlich ganz gut. Das man die Quelltextdatei von C Projekten erst umbenennen muss stimmt nicht ( mehr). Ich kann dir Visual Studio nur empfehlen
 
Zurück