C99 != Ansi-c ?

Dieses Thema im Forum "C/C++" wurde erstellt von cuddlytux, 31.10.2006.

  1. #1 cuddlytux, 31.10.2006
    cuddlytux

    cuddlytux Alles außer unix ist sc..

    Dabei seit:
    25.11.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Rheinhessen
    Hallo!

    Ich stecke grade in den Kinderschuhen beim lernen von C und bin gerade über folgendes gestolpert:

    Zitat:
    Code:
    When writing C code, use only C comments (beginning with "/*" and ending 
    with "*/"), and don't use C++-style comments ("//"). Although many C compilers 
    understand C++ comments, others don't, and the ANSI C standard does not 
    require that C++-style comments be processed as comments.
    http://www.gtk.org/tutorial/c2617.html

    Hat die ANSI C99 nicht zum Standart gemacht?
    Spricht also man, wenn man ANSI-C sagt, also von C89?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 01.11.2006
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    An Standards halten sich C-compiler Hersteller nur bedingt.

    Wenn man von Ansi-C spricht, meint man das Ansi-C wie es z.B. bei wikipedia erklärt wird.
     
  4. #3 cuddlytux, 01.11.2006
    cuddlytux

    cuddlytux Alles außer unix ist sc..

    Dabei seit:
    25.11.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Rheinhessen
    Das weiß ich ;-). Aber ich würde halt gerne wissen, was das überall genannte ANSI-C eigentlich ist. Bei wikipedia werden unter ANSI-C nur die verschiedenen C-Standarts erklärt (K&R-C, C89, C90, C99).
     
  5. #4 x0r, 01.11.2006
    Zuletzt bearbeitet: 01.11.2006
    x0r

    x0r Bitschubser

    Dabei seit:
    20.12.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Berlin
    Jeder dieser C-Standards trägt der Entwicklung in der Compilerherstellung und den gemeinhin gültigen Notationsregeln Rechnung.
    Das heißt jeder nach 1989 definierte Standard IST eine Abweichung von der ursprünglich 'reinen Lehre', also dem ursprüglichen C-Standard, entwickelt von Kernighan und Ritchie.

    Dennoch C89, C9x usw. sind alles ANSI-Standards, daher ist
    die Aussage C99!=ANSI nicht richtig

    Am Ehesten sieht man dass an einem Beispiel:

    Allgemein hin bekannt dürfte z.Bsp. sein, dass die "reine Lehre" Kernighans und Ritchies eine Verwendung von Bezeichnern OHNE vorrangegangene Deklaration ausschließt. D.h., folgender Ausdruck würde schon einen Compilerfehler verursachen:

    Code:
    int main()
    {
    
         for(int iCount=0;iCount<10;iCount++)
               ;
    
    return 0;
    }
    
    ... wärend bei Verwendung eines späteren Standards, und ganz generell in C++-Applikationen eben jenen Weg gehen kann.
    Ist man aber an die älteren Standards gebunden, oder möchte Konformität zu C89 sicherstellen, so ändert man das Beispiel folgender Weise ab:

    Code:
    int main()
    {
       
         int iCount;
         for(iCount=0;iCount<10;iCount++)
               ;
    
    return 0;
    }
    
    Ein ähnliches Problem liegt also vor bei der AUsgabe die Du gepostet hast...
    Um einen bestimmten Standard für das Compilat ganz explizit zu verwenden gibst Du dann beim gcc die entsprechende Option an.

    Code:
    gcc -std=C89 -Wall -o ./myApp myApp.c
    
    Dies veranlasst den GNU/Compiler aus dem Quellcode von myApp.c ein Kompilat nach Ansi-C89 zu erstellen, und gleichzeitig Warnungen auszugeben, wenn die Notation von dem gängigen Dialektschema abweicht.


    MfG
     
  6. #5 cuddlytux, 01.11.2006
    cuddlytux

    cuddlytux Alles außer unix ist sc..

    Dabei seit:
    25.11.2005
    Beiträge:
    169
    Zustimmungen:
    0
    Ort:
    Rheinhessen
    Danke, dass wollte ich wissen! :D
     
Thema:

C99 != Ansi-c ?

Die Seite wird geladen...

C99 != Ansi-c ? - Ähnliche Themen

  1. Interessenten für kleineres Projekt in ANSI-C

    Interessenten für kleineres Projekt in ANSI-C: Guten Tach liebe Leute! Die letzten beiden Monate habe ich immer mal wieder an einem kleineren Daemonen herumgebastelt, der...