Qui puoi trovare esercizi di programmazione svolti e corretti da memory leak e problemi di prestazioni. Ogni esercizio commentato nel miglior modo possibile.
Puoi configurare automatica VSCode per il debug utilizzando lo script conf.sh
presente nella direcotry. Esegui il comando nella directory del tuo progetto:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Peppe289/Programming-C/main/conf.sh)"
Per poter utilizzare questo script devi aver installato curl
sul tuo sistema.
Lo script conf.sh
confiura nel root del tuo progetto settaggi utili per VSCode. Tra i flag di build:
- -lm : Flag per math.h (libreria dinamica)
- -g : Utile per il debug
- -O3 : La migliore ottimizzazione che puoi trovare. Approfondisci
- -Wall e -Wextra : Per un debug totale in fase di compilazione
- -fstack-usage : Per controllare lo spazio occupato dalla memoria statica.
- -std=c2x : Per utilizzare l'ultima versione di C
Attenzione : Questa configurazione compila su un singolo file. Se vuoi cambiare questo modifica il file .vscode/tasks.json
Puoi usare i breakpoint. Il file .vscode/tasks.json
è già configurato per questo. Devi solo inserire il breakpoint nel tuo programma, nel punto che desideri. StackOverflow
- Editor di testo :
VSCode
- Compilatore :
gcc 12.y.y
- Debugging memoria :
valgrind
Approfondisci l'uso di valgrind sul loro sito. (solo per linux
)
I flag che utilizzo:
--tool=memcheck --error-exitcode=1 --leak-check=full --show-leak-kinds=all --track-origins=yes -s
Per il controllo di eventuali possibili problemi di sintassi uso -Wall
. Per il controllo dell'uso dello stack -fstack-usage
.
Ogni diverse versioni di C hanno diversi usi sul alcune cose. Per capire la differenza tra una funzione e un'altra basta cambiare versione da far usare a GCC con il flag: -std=X
dove X
è la versione.