diff --git a/base_1.md b/base_1.md index d0bd1343b1111eb0bdb70811330c88d201bff775..0ce48df74e93320858f51d655f1fd4411a5a95ae 100644 --- a/base_1.md +++ b/base_1.md @@ -63,17 +63,18 @@ int main() { - Il existe une multitude d'options de compilation: + ```bash + $ clang -O -std=c11 -Wall -Wextra -g porg.c -o prog + -fsanitize=address -fsanitize=leak -fsanitize=undefined + ``` 1. `-std=c11` utilisation de C11. 2. `-Wall et -Wextra` activation des warnings. 3. `-fsanitize=…` contrôles d’erreurs extensifs à l’exécution (au prix d’un coût en performance). 4. `-g` symboles de débogages sont gardés. 5. `-o` défini le fichier exécutable à produire en sortie. - <!-- 6. `-O1`, `-O2`, `-O3`: activation de divers degrés d'optimisation --> + 6. `-O1`, `-O2`, `-O3`: activation de divers degrés d'optimisation + -```bash -$ clang -std=c11 -Wall -Wextra -g porg.c -o prog - -fsanitize=address -fsanitize=leak -fsanitize=undefined -``` # La simplicité de C? @@ -363,7 +364,7 @@ else x = -1; // toujours évalué ``` -# Structures de contrôle: `switch`{.C} .. `case`{.C} (1/2) +<!-- # Structures de contrôle: `switch`{.C} .. `case`{.C} (1/2) ```C switch (expression) { @@ -396,7 +397,7 @@ switch (x) { default: printf("autre\n"); } -``` +``` --> **Dangereux, mais c'est un moyen d'avoir un "ou" logique dans un case.**