Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 6 von 12

C-Compiler für Windows

  1. #1
    Avatar von Engel912
    Engel912 ist offline Sehr erfahrener Benutzer
    Registriert seit
    18.10.2007
    Ort
    bei Frankfurt
    Beiträge
    508
    Blog-Einträge
    321
    Moin zusammen,

    ich bin derzeit am Üben, was die Programmierung angeht. Da ich nicht auf jeden Rechner, mit dem ich so "spiele", SiSy installieren will (das ist die tolle Programmierungsumgebung der WBH), war ich auf der Suche nach einem Freeware Tool um meine Programme einzuklappern, zu kompilieren und zu testen.
    Ich wurde auf Bloodshed Dev-C++ aufmerksam gemacht. Angeblich könne das Ding auch "einfaches" C. Leider bekomme ich schon wenn ich die Übungen abtippe Fehlermeldungen (z.B. steht in den Scripten immer "void main()" - das Tool gibt den Fehler aus " 'main' must return 'int' " ... was auch immer es damit sagen will.

    Jetzt suche ich natürlich ein Tool, welches ich als Freeware nutzen kann, und das mit hilft, die ersten Hürden zu nehmen, ohne gleich so kompliziert zu sein.

    Bin für jede Idee und jeden Tipp dankbar

    Gruß
    Danny

    PS: ich werde nie ein Starprogrammierer ...
    Geändert von Engel912 (27.10.2008 um 08:43 Uhr)
    Jester gefällt das.
    Danny

    Wilhelm Büchner Hochschule
    Bachelor of Science in Angewandter Informatik seit 12/2011

  2. #2
    Avatar von Michael Knight
    Michael Knight ist offline Sehr erfahrener Benutzer
    Registriert seit
    28.11.2007
    Ort
    Hamburg
    Beiträge
    2.036
    Hi Danny,

    das einfachste Tool ist ein vernünftiger Editor mit der Mindestanforderung Syntaxhighlighting. Empfehlenswert ist z.B. Notepad++ (-->google). Damit bekommst Du aber keinen C++ Compiler. Den musst Du gesondert installieren. Das Stichwort für einen freien C/C++ Compiler ist :

    http://www.mingw.org/

    Dazu gibt es unzählige Anleitungen im Internet und es lohnt nicht, das hier ausführlicher zu erklären.
    Einfacher ist es, wenn Du gleich Linux nimmst (wolltest Du das nicht eh installieren ?), denn da bekommst Du alles erforderliche frei Haus.

    Ansonsten könntest Du noch einen Blick auf Eclipse oder Visual Studio Express werfen, die allerdings komplizierter in der Bedienung sind, aber deutlich mehr Komfort bieten. Für den Einstieg allerdings nicht empfehlenswert.

    'main' must return 'int'
    Das bedeutet, dass der Compiler einen Rückgabewert vom Typ int an das Betriebssystem erwartet. Hier kann z.B ein Fehlercode (0 = ok, 1= Fehler) zurückgegeben werden. Üblicherweise sind main-Funktionen, aber vom Typ void (also kein Rückgabewert), zudem ist das C++ eigentlich dem Entwickler überlassen. Das hier int erwartet wird, deutet darauf hin, dass Du einen C-Compiler verwendest. In welcher Sprache sind denn Deine Beispiele geschrieben ? C und C++ sind nicht identisch !!
    Wichtig ist, dass es in C++ (im Gegensatz zu java) nur eine main-Methode in Deinem C++ Programm geben darf, da dies immer der Einstiegspunkt ist.

    Viel Erfolg !

  3. #3
    Avatar von Engel912
    Engel912 ist offline Sehr erfahrener Benutzer
    Registriert seit
    18.10.2007
    Ort
    bei Frankfurt
    Beiträge
    508
    Blog-Einträge
    321
    Zitat Zitat von Michael Knight Beitrag anzeigen
    Einfacher ist es, wenn Du gleich Linux nimmst (wolltest Du das nicht eh installieren ?), denn da bekommst Du alles erforderliche frei Haus.
    daheim, ja ... ich wollte aber was haben, dass ich auch "unterwegs" mal nutzen kann (wie z.b. Mittagspause im Office)

    In welcher Sprache sind denn Deine Beispiele geschrieben ? C und C++ sind nicht identisch !!
    Im GS ist alles in C. Ich habe da einen Grundkurs aus dem Onlinecampus bei uns runtergezogen. Und da steht eben "void main()". Das Galileo-Openbook für C schreibt da halt "int main(void)" - und damit gehts... frage ich mcih natürlich, ob mein Compiler nen Schlag hat, ob ich zu doof bin, oder ob die FH da was "falsches" rausgegeben hat.

    Ansonsten ist die Umsetzung von Programmen anscheinend nicht das große Drama ... schlimmer sind die Vorbereitungen - also WIE gehe ich mein Problem an.
    Danny

    Wilhelm Büchner Hochschule
    Bachelor of Science in Angewandter Informatik seit 12/2011

  4. #4
    Avatar von Michael Knight
    Michael Knight ist offline Sehr erfahrener Benutzer
    Registriert seit
    28.11.2007
    Ort
    Hamburg
    Beiträge
    2.036
    Nein, derart grundlegende Fehler gibt es nicht in Compilern (auch wenn ich den von Dir erwähnten nicht kenne). Aber C ist bei mir auch lange her ...

    Insofern ist der Fehler in Deinem Skript, da gemäß ANSI-C-Standard int als Rückgabewert vorgeschrieben ist.

    Ansonsten ist die Umsetzung von Programmen anscheinend nicht das große Drama ... schlimmer sind die Vorbereitungen - also WIE gehe ich mein Problem an.
    Das entspricht der Realität. Für die eigentliche Codierung verwendet man deutlicher weniger Zeit als für die "Vorarbeiten". Stichwort Vorgehensmodell.

  5. #5
    Tukaram ist offline Sehr erfahrener Benutzer
    Registriert seit
    22.01.2008
    Ort
    Ruhrpott
    Beiträge
    305
    Zitat Zitat von Engel912 Beitrag anzeigen
    Ich wurde auf Bloodshed Dev-C++ aufmerksam gemacht. Angeblich könne das Ding auch "einfaches" C. Leider bekomme ich schon wenn ich die Übungen abtippe Fehlermeldungen (z.B. steht in den Scripten immer "void main()" - das Tool gibt den Fehler aus " 'main' must return 'int' " ... was auch immer es damit sagen will.
    Hallo,

    zwei Varianten: Microsoft Visual Studio Express in der C++-Version. Ist (soweit ich weiß) kostenlos. Im Zweifel bekommst Du aber als Student drastische Nachlässe.

    Visual Studio hat ne hübsche GUI und ist für den Einstieg gut genug. Leider wird man etwas verwöhnt und läuft in Gefahr Microsoft eigene Konstrukte (die nicht ANSI sind) zu benutzen. Fazit: Schneller Einstieg mit Gefahr wichtige Dinge nicht zu lernen.

    Visual Studio Kann man aber nicht überall installieren, da Admin-Rechte verlangt werden. Und wohl IMO auch eine Internet-Verbindung

    Und dann der schon angesprochene Notepad-Editor (sehr gut!) plus Cygwin-Umgebung.

    Cygwin ist eine Übersetzung der Standard-Linux-Werkzeuge für Windows. Kommt mit ein paar Feinheiten/Gemeinheiten in der Benutzung (Beispiel: Cygwin kennt keine Laufwerksbuchstaben und unterscheidet zwischen Groß/Kleinschreibung, was auf einem Windows-Rechner ein Problem ist). Ansonsten kann man damit sehr gut programmieren.

    Viele Grüße

  6. #6
    Tukaram ist offline Sehr erfahrener Benutzer
    Registriert seit
    22.01.2008
    Ort
    Ruhrpott
    Beiträge
    305
    Zitat Zitat von Engel912 Beitrag anzeigen
    Und da steht eben "void main()".
    Hallo,

    das ist ein Fehler im Skript.

    Die Funktion heißt korrekt

    int main(int argc, char** argv).

    Aber: Praktisch alle Compiler/Laufzeitumgebung akzeptieren auch "int main()" und manche Compiler akzeptieren sogar "void main()". Und letzteren Compiler solltest Du nicht zum lernen benutzen, da Du ein falsches C lernst.

    Vermutlich ist es aber so, dass beim Compiler Deiner Hochschule einfach irgendwelche Flags komisch gesetzt werden und dadurch fehlerhafte Aufrufe scheinbar funktionieren.

    Solche Flags brauchen auch moderne Compiler, weil es immer noch C-Code aus den 60igern und 70igern gibt, in dem derartig schlampig gearbeitet wurde.

    Viele Grüße

Seite 1 von 2 12 LetzteLetzte