Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".
1 /*
2 * Soubor: 20120216-Thu-preprocesor.c
3 * Datum: 16.02.2012 08:14
4 * Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
5 * Licence: GNU/GPL
6 * Úloha: ukázka preprocesoru
7 ****************************************************/
8 #define _ISOC99_SOURCE
9 #define _GNU_SOURCE
10 #include <stdio.h>
11 #include <stdbool.h>
12 #include <assert.h>
13
14 /* *************** Makra ******************** */
15 #define ABC ('z'-'a'+1)
16 #define je_velke(c) ( (c)>='A' && (c)<='Z' )
17 #define soucet(a,b) ( (a)+ (b))
18
19 #define DEV
20
21 /* *************** Funkce ******************** */
22
23
24 /****************************************************
25 * Hlavní program.
26 ****************************************************/
27 int main(void) {
28 int znak=0;
29
30 #ifdef DEV
31 znak = 'B';
32 if (je_velke(znak))
33 puts("VELKE");
34 else
35 puts("male");
36 #else
37 printf("%d\n",ABC*2);
38 #endif
39
40 #if 3>5
41 printf("%d\n",soucet(1,2));
42 #endif
43
44 znak = 'a';
45 assert(znak == 'a');
46
47 printf("tento prikaz je na radku %d\n",__LINE__);
48 printf("tento soubor se jmenuje %s\n",__FILE__);
49 printf("kompilováno %s %s\n",__DATE__, __TIME__);
50 printf("jesem uvnitř %s\n",__func__);
51
52
53
54
55 return 0;
56 }