https://github.com/peppe289/programming-structure-data
University exercises of UniSA about Programming Structure Data using C code.
https://github.com/peppe289/programming-structure-data
algorithms algorithms-and-data-structures c structured-data unisa
Last synced: about 2 months ago
JSON representation
University exercises of UniSA about Programming Structure Data using C code.
- Host: GitHub
- URL: https://github.com/peppe289/programming-structure-data
- Owner: Peppe289
- Created: 2023-01-25T09:10:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T15:49:26.000Z (almost 2 years ago)
- Last Synced: 2025-04-12T20:59:54.399Z (about 2 months ago)
- Topics: algorithms, algorithms-and-data-structures, c, structured-data, unisa
- Language: C
- Homepage:
- Size: 7.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Esercizi di programmazione
Qui puoi trovare esercizi di programmazione svolti e corretti da memory leak e problemi di prestazioni. Ogni esercizio commentato nel miglior modo possibile.VSCode: configurazione automatica
---
Puoi configurare automatica VSCode per il debug utilizzando lo script `conf.sh` presente nella direcotry. Esegui il comando nella directory del tuo progetto:```bash
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.
### Informazioni utili
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](https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html)
- -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`*
[img](#img)
Debug da VSCode
---
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](https://stackoverflow.com/a/4326474)Strumenti usati per il controllo
---- Editor di testo : `VSCode`
- Compilatore : `gcc 12.y.y`
- Debugging memoria : `valgrind`Valgrind
---
Approfondisci l'uso di [valgrind sul loro sito](https://valgrind.org/). (`solo per linux`)I flag che utilizzo:
```shell
--tool=memcheck --error-exitcode=1 --leak-check=full --show-leak-kinds=all --track-origins=yes -s
```GCC flag
---
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.
