Suche kostenlosen C-Compiler für Windows

  • Bloodshed ist zwar toll aber anscheinend unterstützt er nur C++ Codes, mit C Anweisungen gehts bei mir nicht obwohl auf der Homepage steht:

    Zitat


    Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it's compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler.


    Oder gibts da doch eine Möglichkeit Bloodshed mit C zu programmieren?

    Religion ist ein Glaube,
    Wissenschaft als Teilgebiet ist ein Glaube,
    die Wahrheit liegt in der Gegenwart des Menschen.

  • Zitat von Heavy

    Bloodshed ist zwar toll aber anscheinend unterstützt er nur C++ Codes, mit C Anweisungen gehts bei mir nicht

    Dass gcc kein C kann, halte ich für ein Gerücht. Welche C Anweisungen funktionieren denn nicht?

  • Zitat von michi204

    ist c nicht eine teilsprache von c++?

    Nein, C++ basiert auf C und ist teilweise kompatibel, es gibt aber ein paar Unterschiede. Im Gegensatz dazu steht zB Objective C, das ist vollkommen kompatibel (-> man kann jedes .c-file in .m umbenennen, und damit zum Objective C-file machen, die Funktionalität ist genau die gleiche).

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • schau dir mal die fehlermeldung an: "'main' must return 'int'"...

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Zitat von hal

    schau dir mal die fehlermeldung an: "'main' must return 'int'"...


    Sorry ich bin blutiger C-Anfänger....mit int funktionierts aber wieso nicht mit void?

    So stehts genau 1:1 im "C für Dummies" Buch drin...

    Religion ist ein Glaube,
    Wissenschaft als Teilgebiet ist ein Glaube,
    die Wahrheit liegt in der Gegenwart des Menschen.

  • Zitat von Heavy

    ...vielleicht mach ich was falsch, was hat das build error zu bedeuten? http://stud3.tuwien.ac.at/~e0025403/test.jpg

    wie auf dem hompage der GCC steht "GCC is the GNU Compiler Collection, which currently contains front ends for C, C++, ..." du kannst problemlos GCC für C Programe benutzen.
    Der Fehler könnte daraus bestehen dass du "void main()" statt "int main(void)" oder "int main (int argc, char **argv)" benutzt hast, wie die main Funktion in ANSI C definiert wurde.

  • Zitat von hal


    Im Gegensatz dazu steht zB Objective C, das ist vollkommen kompatibel (-> man kann jedes .c-file in .m umbenennen, und damit zum Objective C-file machen, die Funktionalität ist genau die gleiche).

    hat objective-c nicht zumindest ein keyword mehr als C, weil dann kann ich schon mal nicht jedes C file mit objective-c compilieren.

  • naja, auf *nix-systemen braucht jedes programm einen return-code, den gibst du da eben zurück (oder verwendest exit()).

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • ....sorry ich checks doch nicht
    In den folgenden Kapiteln durchgeblättert stehn nur Programmbeispiele mit void mains und wieso gehn die nicht unter Bloodshed?

    Religion ist ein Glaube,
    Wissenschaft als Teilgebiet ist ein Glaube,
    die Wahrheit liegt in der Gegenwart des Menschen.

  • Naja, nicht alle C-Compiler sind gleich, manche akzeptieren auch den nicht korrekten Syntax. gcc verlangt es, versuch damit zu leben :)

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • also natürlich kann man mit bloodshed dev c++ (gcc) auch c programmieren -> c++ IST IMMER (zumindest meines wissens -> nach POSIX zumindet) auch c kompatibel...

    der fehler: "fkt. main must return int" is ganz einfach
    -> *eigentlich* sollte jedes programm einen rückgabe wert haben -> die meisten c/c++ compiler verlangen dies jedoch nicht zwingend -> gcc jedoch schon!!
    -> das buch "c für dummies" solle besser "c von dummies" heißen ;)

    wenn du also:

    Code
    ...
    int main(void)
    {
    ...
    }

    schreibst statt: void main(void) wird's funktionieren!

    -> wenn du c programmieren *lernen* willst würde ich dir vielleicht sogar den URALTEN c/c++ compiler (turbo C++) von borland empfehlen -> ist mitlerweile glaub ich sogar gratis ?!! und nur ein kleiner download (max. 3 mb)

    mfg marX

  • Zitat von marX

    also natürlich kann man mit bloodshed dev c++ (gcc) auch c programmieren -> c++ IST IMMER (zumindest meines wissens -> nach POSIX zumindet) auch c kompatibel...

    dann probier mal folgenden code mit c++ zu kompiliern (mit C zu sollte es gehen):

    Code
    int main()
    {
    	int class = 4;
    	printf("Some stupid example: %d", class);
    	return 0;
    }
  • Hallo..

    Zitat von Heavy

    Sorry ich bin blutiger C-Anfänger....mit int funktionierts aber wieso nicht mit void?

    So stehts genau 1:1 im "C für Dummies" Buch drin...

    Ich kann nicht von mir behaupten, ein C/C++-Profi zu sein, aber einen freundschaftlichen Tipp kann ich dir geben: Figer weg von der "...fuer Dummies"- oder der "...in 21 Tagen"-Reihe.. Diese Buecher kannst du vergessen..

    Das mit Abstand beste Buch ueber C, dass ich gelesen habe und jedem Anfaenger und Fortgeschrittenem empfehlen kann, ist: "Softwareentwicklung in C" von Klaus Schmaranz (liegt auch daran, dass er frueher mein Prof. war.. ;-)). Also er bringt alles so auf den Punkt wie es sich gehoert (e.g., klare/unumstrittene Aussagen, Unterschiede zwischen Linux/Win etc.) und erklaert vor allem fuer Anfaenger die wichtigsten Konzepte auf lockere Art und Weise (gerade _das_ mach Spasz beim lesen). Du kannst dir das Buch auch gratis runterladen (legal!) unter:

    http://courses.iicm.edu/the_c_book/Sof…wicklungInC.pdf

    Wenn du dann auch noch C++ anhaengen willst, dann kannst du dir sein zweites Buch "Softwareentwicklung in C++" auch legal runterladen unter:

    http://courses.iicm.edu/programmierpra…InCplusplus.pdf

    Dieses Buch ist meines Erachtens ein besserer Einstieg als das von Stroustrup ("The C++ Programming Language"), da es grundlegende Konzepte wie OOP oder Softwareentwicklung unmissverstaendlich erlaeutert.. Ich wuerde dir aber unbedingt raten zuerst C und dann erst C++ zu lernen.. C++ ist ein ziemlicher Brocken fuer einen Anfaenger.. hab's am eigenen Leib erfahren ;)

    Was den Compiler anlagt, so gibt es stets Unterschiede.. ich persoenlich bevorzuge den gcc bzw. g++ (manchmal auch Visual C++ fuer OpenGL-Anwendungen).


    Viel Spasz beim lesen..
    bye..

  • Zitat von MaxAuthority

    dann probier mal folgenden code mit c++ zu kompiliern (mit C zu sollte es gehen):

    Code
    int main()
    {
    	int class = 4;
    	printf("Some stupid example: %d", class);
    	return 0;
    }

    lustig lustig trallala....DAS geht natürlich NICHT, DAS hat aber nichts mit der kompatibilität von c++ zu c zu tun!!!

    das selbe problem würde ich wohl auch in C bekommen wenn ich schreiben würde:

    Code
    typedef int class;
    
    
    int main(void)
    {
       int class x;
    ...
    }

    oder nicht ? ;)
    (gg ... klugscheißen kann ich beschtimmt schon länger als du ;))

    mfg marX

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!