Setzen des Flags std=c99 in GCC

Lesezeit: 2 Minuten

Benutzeravatar von Fatmarik
Fatmarik

Ich habe mich gefragt, ob es irgendwelche Dateien gibt, in denen ich das einstellen könnte -std=c99 Flag, damit ich es nicht für jede Compilation setzen müsste. Ich verwende GCC 4.4 auf Ubuntu.

Anstatt anzurufen /usr/bin/gccverwenden /usr/bin/c99. Dies ist die von Single-Unix genehmigte Art, einen C99-Compiler aufzurufen. Auf einem Ubuntu-System verweist dies auf ein Skript, das aufruft gcc nachdem Sie die hinzugefügt haben -std=c99 Flagge, das ist genau das, was Sie wollen.

  • Ok, ich bin neu in der Linux-Programmierung (lerne am College), wie verwende ich /usr/bin/c99 ? Ich verwende Vim-Gnome mit C-Plugin, in dem ich nur \rr zum Kompilieren und Ausführen mache.

    – Fatmarik

    3. Februar 2010 um 18:24 Uhr

  • Nach dem, was ich im Web finde, gibt es eine globale Variable namens C_CCompiler was den C-Compiler bezeichnet. Normalerweise ist es auf eingestellt gcc. Ersetzen Sie den Inhalt durch c99 und alles sollte gut gehen. Siehe Hilfedatei auf: lug.fh-swf.de/vim/vim-doc/csupport.html

    – Thomas Pornin

    3. Februar 2010 um 19:00 Uhr

  • Beachten Sie, dass die Verwendung von c99 auf dem Mac zu überraschenden Ergebnissen führen kann: stackoverflow.com/questions/4182413

    – dubiosjim

    31. Mai 2012 um 22:09 Uhr

Wie wäre es mit alias gcc99= gcc -std=c99?

  • +1 Das ist, was ich tue. Und wenn Sie schon dabei sind, fügen Sie dem Alias ​​die Flags -Wall und -pedantic hinzu.

    anon

    3. Februar 2010 um 17:03 Uhr


  • +1. So sieht mein Alias ​​nun tatsächlich aus: alias gcc99=gcc -Wall -pedantic -ansi -std=c99. Ja, mit ansi auch.

    – dirkgent

    3. Februar 2010 um 17:37 Uhr

  • @dirkgently: also mit welchem ​​​​Standard (falls vorhanden) implementiert GCC -std=c99 -ansi? Sie haben C99 aktiviert und dann alles deaktiviert, was nicht in C89 enthalten ist. Ergibt das die gemeinsame Teilmenge von beiden?

    – Steve Jessop

    3. Februar 2010 um 18:45 Uhr


  • Ich habe das gelesen, aber es sagt mir, was GCC tut, nicht warum es nützlich ist ;-). Insbesondere, wie und warum ist -ansi -std=c99 -pedantic besser als -std=c89 -pedantic?

    – Steve Jessop

    3. Februar 2010 um 19:20 Uhr


  • Die Reihenfolge spielt sicherlich eine Rolle. Zum Beispiel int main() { // thing <newline> }, wobei ein Zeilenumbruch ist. Kompiliert mit gcc -ansi -std=c99 -pedanticaber nicht mit gcc -std=c99 -ansi -pedantic.

    – Steve Jessop

    3. Februar 2010 um 19:29 Uhr


1416050cookie-checkSetzen des Flags std=c99 in GCC

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy