mit visual studio c89/c99 programmieren
-
ich habe die aktuelle version von visual studio zu hause und muss für die uni c89/c99 programmieren. ich habe schon eingestellt, dass c-code kompiliert wird und die dateiendungen sind .c.
allerdings kann ich trotzdem structs/klassen mit konstruktoren verwenden usw., also alles sachen die man mit z.B. c89 nicht machen kann.
gibt es eine möglichkeit das explizit einzustellen? oder soll ich z.B. vs 2008 verwenden?
grüße
-
Ich würde dir ja zu Eclipse + gcc raten, für gcc gibt's dann die Option std=c99
-
asdfghyxcvbnm schrieb:
allerdings kann ich trotzdem structs/klassen mit konstruktoren verwenden usw., also alles sachen die man mit z.B. c89 nicht machen kann.
Logisch, da Visual Studio nun einmal für C++ ausgelegt ist, C nur zusätzlich (weitgehend) unterstützt.
asdfghyxcvbnm schrieb:
gibt es eine möglichkeit das explizit einzustellen? oder soll ich z.B. vs 2008 verwenden?
Was sollte ein Wechsel auf eine ältere Version ändern, außer das dort C99 vermutlich noch weniger unterstützt wird? (VS 2013 bring weitgehenden C99-Support mit, daher wenn C und VS, würde ich auch die 2013er Preview nutzen).
Du hast 2 Möglichkeiten:
a) Du verwendest in deinen Code nur C, und ignorierst das es sich um einen C++ Compiler handelt. Du kannst aber folgende Projekteinstellungen im C/C++-Bereich versuchen:- Language/Disable Language Extensions => Yes (/Za)
- Advanced/Compile As => Compile as C Code (/TC)
b) Du wechselst auf eine reine C-Umgebung.
-
asc schrieb:
(VS 2013 bring weitgehenden C99-Support mit, daher wenn C und VS, würde ich auch die 2013er Preview nutzen).
Microsoft implementiert endlich C99? Nach 14 Jahren? Was sind denn das für verrückte Zeiten, in denen wir leben? Demnächst erzählt noch jemand, der Papst würde zurücktreten…
-
Genau genommen bringt VC++ 2013 immer noch keinen C99-Support.
Microsoft hat lediglich die Standardbibliothek um C99-Header erweitert.
Sprachfeatures wurden keine hinzugefügt.
-
DrakoXP schrieb:
Genau genommen bringt VC++ 2013 immer noch keinen C99-Support.
Microsoft hat lediglich die Standardbibliothek um C99-Header erweitert.
Sprachfeatures wurden keine hinzugefügt.Verstehe. Da die C99-Bibliothek zu 99% ein Teil von C++11 ist und man C++11 ohnehin implementiert hat, kann man nun noch einmal die gleiche Funktionalität als neues C99-Feature verkaufen.
-
Ich muss gestehen das ich nur das wieder gegeben habe, was ich bei dem Visual Studio 2013 gelesen hatte. Ich habe nie C gelernt oder darin programmiert (Selbst wenn einiger "C++" Code an dem ich arbeiten musste recht C-Lastig war).
-
DrakoXP schrieb:
Microsoft hat lediglich die Standardbibliothek um C99-Header erweitert.
Aber nur im C++-Modus. Kompiliert man als C sind die Header nicht verfügbar. Ist also keine brauchbare Lösung.