Compiler

Ich hab mich heute mal getraut, meine C-Code mit dem Microsoft Compiler (“Werkzeug des Teufels”) zu übersetzten. Irgendwie warf der gleich am Anfang den Fehler:

“error C2143: syntax error : missing ‘;’ before ‘type’”

Mit ein bisschen Probieren hab ich dann gemerkt, dass man wohl alle Variablendefinitionen am Anfang der Methoden schreiben muss. Und Definitionen a la “int x = y+2″ sind auch keine gute Idee. *arg* Ich bin ja nicht so der C-Hacker… aber das ist doch wirklich Schei**. Komisch nur, dass es mit dem GCC geht. Mit Java hat man es eben doch einfacher. :-)

3 Responses to “Compiler”


  • Also der gcc kennt ja die Option -ansi oder sowas wie -std=c89 und da gehen auch Dinge wie int len = strlen(str); durch. Also entweder ist der MS Compiler echt scheiße, oder du machst was falsch ;) .

  • Naja… ich bin mir nicht so sicher was Microsoft an C Version unterstütz, aber soweit ich weiß unterstützen die offiziell ja eh kein ansi, c90, c99 oder irgendwelche anderen Spezifikationen.

    Ich habe hier den “Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80×86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved.” cl.exe Compiler und der hat mit folgendem Programm schon Probleme:

    1: #include <stdio.h>
    2:
    3: int main() {
    4:   printf("test\n");
    5:   int y;
    6:   y = 2;
    7:   printf("y: %d\n",y);
    8:   return 0;
    9: }

    Das ganze lässt sich mit folgendem Fehler nicht compilieren.

    (5): error C2143: syntax error : missing ';' before 'type'
    (6): error C2065: 'y' : undeclared identifier

    Mit dem gcc kann ich das in allen erdenklichen Version (c89, iso9899:1990, iso9899:199409, c99, c9x, iso9899:1999, iso9899:199x, gnu89, gnu99, gnu9x) ohne Fehler compilieren! Der Microsoft Compiler stinkt, oder ich hab keinen Plan von C…

  • Funktioniert bei mir mit Visual C++ 6.0 und VS .NET 2003.

Comments are currently closed.