So aktivieren Sie den c99-Modus in gcc mit Terminal

Lesezeit: 3 Minuten

Benutzeravatar von user297904
Benutzer297904

Ich möchte den c99-Modus im gcc-Compiler aktivieren, wie ich in einem anderen Beitrag in diesem Forum gelesen habe -std sollte gleich sein -std=c99 aber ich weiß nicht, wie ich es über die Befehlszeile auf diesen Wert setzen soll, also helfen Sie bitte.

  • füge deinen Befehl mit -std=c99 an;)

    – Timoteusz Paul

    29. August 2014 um 10:39 Uhr

  • Wie geben Sie den Namen der ausführbaren Datei an?

    – jxh

    29. August 2014 um 10:41 Uhr

  • Verwenden Sie den Befehl c99 um in der Sprache C99 geschriebene Programme zu kompilieren 😉

    – Marc Glisse

    22. Oktober 2016 um 6:57 Uhr

Benutzeravatar von jpw
jpw

Kompilieren mit:

gcc -std=c99 -o outputfile sourcefile.c

gcc --help listet einige Optionen auf, eine vollständige Liste der Optionen finden Sie unter Anleitungen. Die verschiedenen Optionen für C-Dialekt finden Sie im Abschnitt “Optionen zur Steuerung des C-Dialekts” auf jeden gcc Handbuch der Version (z. hier).

Wie Sie verwenden make Sie können die Befehlszeilenoptionen für gcc mit festlegen CFLAGS:

# sample makefile
CC = gcc
CFLAGS = -Wall -std=c99
OUTFILE = outputfile
OBJS = source.o
SRCS = source.c

$(OUTFILE): $(OBJS)
        $(CC) $(CFLAGS) -o $(OUTFILE) $(OBJS)
$(OBJS): $(SRCS)
        $(CC) $(CFLAGS) -c $(SRCS)

Nachtrag (hinzugefügt Ende 2016): C99 wird mittlerweile etwas alt, Leute, die sich diese Antwort ansehen, möchten vielleicht nachforschen C11 stattdessen.

  • danke, aber ersetzt dies make, weil ich immer make verwende, um alle meine Programme zu kompilieren?

    – Benutzer297904

    29. August 2014 um 10:51 Uhr

  • @ user297904 Nein, wenn Sie ein Makefile verwenden, sollten Sie stattdessen die Optionen darin festlegen. Ich werde meine Antwort mit einem Beispiel aktualisieren.

    – jpw

    29. August 2014 um 10:54 Uhr

  • danke für das update eine letzte frage sollte in das terminal oder in die konfigurationsdatei von make geschrieben werden und wo ist die konfigurationsdatei von make ?

    – Benutzer297904

    29. August 2014 um 11:18 Uhr

  • @user297904 Wenn Sie make verwenden, haben Sie ein Makefile, das make mitteilt, was zu tun ist, wenn Sie es aufrufen. Das Beispiel, das ich hinzugefügt habe, ist ein einfaches Makefile, das eine C-Datei namens source.c im selben Verzeichnis kompiliert und eine ausführbare Datei namens erstellt outputfile

    – jpw

    29. August 2014 um 11:20 Uhr

  • Zwei Jahre nachdem ich dies geschrieben habe, bekomme ich immer noch einige Upvotes, was natürlich nett ist, aber es könnte an der Zeit sein, C99 hinter sich zu lassen und zu neueren Standards überzugehen (z -std=c11 stattdessen für C11).

    – jpw

    22. Oktober 2016 um 0:17 Uhr


Benutzeravatar von Rahul Tripathi
Rahul Tripathi

Sie können versuchen, die zu verwenden -std=c99 Flagge.

Versuchen Sie, so zu kompilieren:

gcc -Wall -std=c99 -g myProgram.c

Beachte das auch -g ist für die Debugging-Option (Danke Alter Mann für den Hinweis).

Basierend auf den Kommentaren unter einer anderen Antwort verwenden Sie möglicherweise die impliziten Make-Regeln und haben kein Makefile. Wenn dies der Fall ist, dann rennst du nur make tst generieren tst binär aus tst.c. In diesem Fall können Sie die Flags angeben, indem Sie die Umgebungsvariable setzen CFLAGS. Sie können es für die aktuelle Shell festlegen oder zu Ihrer hinzufügen ~/.bashrc um es immer dabei zu haben:

export CFLAGS='-Wall -Wextra -std=c99'

Oder geben Sie es nur für den einzelnen Befehl an:

CFLAGS='-Wall -Wextra -std=c99' make tst

(Hinweis: Ich habe auch Warnflaggen hinzugefügt, Sie sollten sie wirklich verwenden, sie werden viele potenzielle Fehler oder einfach nur schlechten Code erkennen, den Sie anders schreiben sollten.)

1433250cookie-checkSo aktivieren Sie den c99-Modus in gcc mit Terminal

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

Privacy policy