Voglio attivare la modalità c99 nel compilatore gcc per leggere in un altro post in questo forum che -std
deve essere uguale a -std=c99
ma non so come impostarlo su questo valore utilizzando linea di comando quindi per favore aiuto.Come abilitare la modalità c99 in gcc con terminale
risposta
compilazione utilizzando:
gcc -std=c99 -o outputfile sourcefile.c
gcc --help
liste alcune opzioni, per un elenco completo delle opzioni si riferiscono alla manual. Le diverse opzioni per il dialetto C possono essere trovate here.
Come si utilizza make
è possibile impostare le opzioni della riga di comando per gcc utilizzando 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)
Addendum (aggiunto fine 2016): C99 sta diventando una specie di vecchio, ormai, le persone guardando questa risposta potrebbe voler esplorare C11 invece.
grazie ma questo rimpiazzo lo faccio perché uso sempre make per compilare tutti i miei programmi? – user297904
@ user297904 No, se usi un makefile dovresti invece impostare le opzioni al suo interno. Aggiornerò la mia risposta con un esempio – jpw
grazie per l'aggiornamento un'ultima domanda dovrebbe scrivere nel terminale o all'interno del file di configurazione di make e dov'è il file di configurazione di make? – user297904
Si può provare a utilizzare il flag -std=c99
.
Prova a complile in questo modo:
gcc -Wall -std=c99 -g myProgram.c
Si noti inoltre che -g
è per l'opzione di debug (Grazie Alter Mann per la segnalazione).
In base ai commenti sotto un'altra risposta, forse si stanno utilizzando le regole di creazione implicite e non si dispone di un Makefile. In questo caso, esegui semplicemente make tst
per generare tst binario da tst.c. In tal caso è possibile specificare i flag impostando la variabile di ambiente CFLAGS
. È possibile impostare per la shell corrente, o aggiungerlo al tuo ~/.bashrc
per averlo sempre, con questo:
export CFLAGS='-Wall -Wextra -std=c99'
O specificando solo per il singolo comando:
CFLAGS='-Wall -Wextra -std=c99' make tst
(Nota: I aggiunto anche i flag di avviso, dovresti davvero usarli, rileveranno un sacco di potenziali bug o solo codice cattivo che dovresti scrivere in modo diverso.)
- 1. Come entrare in modalità C99 in Codeblocks10.05?
- 2. C'è un modo per abilitare for (int i = 0;. ... in gcc senza dover attivare la modalità C99
- 3. Come si configura GCC in Eclipse per usare C99?
- 4. Come abilitare la modalità "Molto magico" in vim con vimrc?
- 5. C89 vs compiler GCC c99
- 6. Come abilitare il terminale pngcairo in Gnuplot
- 7. come abilitare la modalità async delle richieste?
- 8. gcc sta eseguendo le dichiarazioni di funzione implicite in modo non corretto nella modalità c99?
- 9. Come abilitare C++ 11 in gcc?
- 10. GCC compilazione fallisce con pthread e l'opzione std = c99
- 11. Come abilitare la modalità interattiva python in cygwin?
- 12. Come abilitare la modalità di debug completo in FastMM4?
- 13. Come abilitare la modalità di selezione della colonna in Eclipse?
- 14. Come creare in modalità di rilascio con ottimizzazioni in GCC?
- 15. Emacs: abilitare globalmente la modalità spazio vuoto
- 16. Terminale/console/shell Windows in modalità Vi?
- 17. C99 è retrocompatibile con C89?
- 18. Perché non è possibile trovare getaddrinfo durante la compilazione con gcc e std = c99
- 19. Abilitare la modalità "navigazione" in skobbler Android API
- 20. Come abilitare i parametri gcc personalizzati in Qt Creator?
- 21. Cosa GCC __attribute __ ((modalità (XX)) effettivamente fare
- 22. Come abilitare gli script groovy in linea (in modalità sandbox)?
- 23. Come abilitare l'ottimizzazione in G ++ con #pragma
- 24. Modalità terminale emacs: come copiare e incollare in modo efficiente
- 25. In che modo il programma seguente emette `C89` quando è compilato in modalità C89 e` C99` quando è compilato in modalità C99?
- 26. come abilitare la trasparenza in vte.Terminal
- 27. GCC Avviso: la dichiarazione implicita della funzione 'puts' non è valida in C99
- 28. Howto Uscita dalla modalità terminale swift
- 29. Spiegazione uscita modalità dettagliata GCC
- 30. double_t in C99
aggiungi il tuo comando con -std = c99;) –
Come si specifica il nome di l'eseguibile? – jxh
Usa il comando 'c99' per compilare programmi scritti nella lingua C99 ;-) –