´ nyelv C programozasi ˝ ´ Elofeldolgoz o´ utas´ıtasok ¨ Dr. Schuster Gyorgy
´ 2011. majus 3.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
1 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ menete A ford´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
2 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ menete A ford´ıtas prog.c
Előfeldolgozó
Átmenti állomány
Fordító
prog.obj
más .obj-tek
könyvtárak
indító kód
Linker
futtatható kód
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
2 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ elemei Az ford´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
3 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ elemei Az ford´ıtas
˝ ´ szam ´ ara ´ felesleges elofeldolgoz o´ (precompiler) kiszedi a ford´ıtas ´ allom ´ ´ ´ es ´ vegrehajtja ´ elemeneket a forras anyb ol az ˝ ´ elofeldolgoz o´ utas´ıtasokat.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
3 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ elemei Az ford´ıtas
˝ ´ szam ´ ara ´ felesleges elofeldolgoz o´ (precompiler) kiszedi a ford´ıtas ´ allom ´ ´ ´ es ´ vegrehajtja ´ elemeneket a forras anyb ol az ˝ ´ elofeldolgoz o´ utas´ıtasokat. ´ ´ ´ ´ relokalhat ´ ´ ford´ıto´ (compiler) az atmeneti allom anyb ol o´ binaris ´ ´ ´ ´ ˝ allom anyt az un. object kodot allitja elo.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
3 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ elemei Az ford´ıtas
˝ ´ szam ´ ara ´ felesleges elofeldolgoz o´ (precompiler) kiszedi a ford´ıtas ´ allom ´ ´ ´ es ´ vegrehajtja ´ elemeneket a forras anyb ol az ˝ ´ elofeldolgoz o´ utas´ıtasokat. ´ ´ ´ ´ relokalhat ´ ´ ford´ıto´ (compiler) az atmeneti allom anyb ol o´ binaris ´ ´ ´ ´ ˝ allom anyt az un. object kodot allitja elo. ¨ ´ ´ ´ az object allom anyokat, a hasznalt linker osszeszerkeszti ¨ ´ ´ az un. ind´ıtok ´ odot. ´ konyvt arakat es Ezzel futtathato´ ´ ´ ´ allom anyt hoz letre.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
3 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
˝ ´ Az elofeldolgoz o´ utas´ıtasok
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
4 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
˝ ´ Az elofeldolgoz o´ utas´ıtasok
˝ ´ a # karakterrel minden elofeldolgoz o´ utas´ıtas ˝ kezdodik,
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
4 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
˝ ´ Az elofeldolgoz o´ utas´ıtasok
˝ ´ a # karakterrel minden elofeldolgoz o´ utas´ıtas ˝ kezdodik, ˝ ´ ´ le ;, az elofeldolgoz o´ utas´ıtasokat nem zarja
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
4 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
˝ ´ Az elofeldolgoz o´ utas´ıtasok
˝ ´ a # karakterrel minden elofeldolgoz o´ utas´ıtas ˝ kezdodik, ˝ ´ ´ le ;, az elofeldolgoz o´ utas´ıtasokat nem zarja ´ ojelbe ´ az argumentumukat nem tesszuk ¨ zar ´ any ´ esetben meg lehet tenni). (neh
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
4 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne. ´ lehet gyari: ´ Az include fajl
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne. ´ lehet gyari: ´ Az include fajl #include <stdio.h>
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne. ´ lehet gyari: ´ Az include fajl #include <stdio.h> ´ lehet altalunk ´ ´ ıtott: es elo˝ all´
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne. ´ lehet gyari: ´ Az include fajl #include <stdio.h> ´ lehet altalunk ´ ´ ıtott: es elo˝ all´ #include "enyem.h"
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #include utas´ıtas
´ ´ az adott helyen vegigolvassa. ´ Az argumentumaban megadott fajlt ´ ´ ´ o˝ sorokat, mintha az a program Ugy tekinti az ”include” fajlban lev ´ resze lenne. ´ lehet gyari: ´ Az include fajl #include <stdio.h> ´ lehet altalunk ´ ´ ıtott: es elo˝ all´ #include "enyem.h" ¨ ´ ¨ es ´ szerint. Van olyan rendszer, amely kul ¨ onbs eget tesz a jelol
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
5 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es ´ (typedef)-ek, t´ıpus defin´ıciok
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es ´ (typedef)-ek, t´ıpus defin´ıciok ´ union defin´ıciok ´ (ez is jon ¨ meg). ´ struktura ´ es
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es ´ (typedef)-ek, t´ıpus defin´ıciok ´ union defin´ıciok ´ (ez is jon ¨ meg). ´ struktura ´ es Ne legyen benne:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es ´ (typedef)-ek, t´ıpus defin´ıciok ´ union defin´ıciok ´ (ez is jon ¨ meg). ´ struktura ´ es Ne legyen benne: ´ ´ o, ´ valtoz o´ deklaraci
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ mi ne legyen az include fajlban ´ Mi legyen es
Mi legyen benne: ´ deklaraci ´ o´ (turelem fuggv ¨ eny ¨ sorra kerul), ¨ ´ ford´ıtas ´ ideju˝ konstans (mindjart ´ jon), ¨ macro es ´ (typedef)-ek, t´ıpus defin´ıciok ´ union defin´ıciok ´ (ez is jon ¨ meg). ´ struktura ´ es Ne legyen benne: ´ ´ o, ´ valtoz o´ deklaraci ´ defin´ıcio. ´ fuggv ¨ eny
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
6 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial,
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon ´ oz( ¨ ok) ¨ es ´ jon, ¨ amit helyettes´ıteni akarunk. majd ujabb ´ szok
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon ´ oz( ¨ ok) ¨ es ´ jon, ¨ amit helyettes´ıteni akarunk. majd ujabb ´ szok ´ lehetnek szok ´ oz ¨ ok ¨ is a mezoben. ˝ Ekkor mar
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon ´ oz( ¨ ok) ¨ es ´ jon, ¨ amit helyettes´ıteni akarunk. majd ujabb ´ szok ´ lehetnek szok ´ oz ¨ ok ¨ is a mezoben. ˝ Ekkor mar ´ karakter zarja. ´ A sort a sorveg
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon ´ oz( ¨ ok) ¨ es ´ jon, ¨ amit helyettes´ıteni akarunk. majd ujabb ´ szok ´ lehetnek szok ´ oz ¨ ok ¨ is a mezoben. ˝ Ekkor mar ´ karakter zarja. ´ A sort a sorveg ´ unk ˝ el ´ egy sorban, akkor az utolso´ mezo˝ Ha nem fer ¨ ki az utolso´ mezon ¨ ˝ \karakterekkel torhet o.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #define utas´ıtas ˝ Szerepe kettos: ´ ´ ford´ıtasidej u˝ konstanst definial, ´ definial. ´ makrot Szintaktikailag: #define NEV MIT ´ kell legalabb ´ egy szok ´ oz ¨ jellegu˝ karaternek lenni, A #define utan ´ ¨ a konstans, vagy makro´ neve, utana jon ´ oz( ¨ ok) ¨ es ´ jon, ¨ amit helyettes´ıteni akarunk. majd ujabb ´ szok ´ lehetnek szok ´ oz ¨ ok ¨ is a mezoben. ˝ Ekkor mar ´ karakter zarja. ´ A sort a sorveg ´ unk ˝ el ´ egy sorban, akkor az utolso´ mezo˝ Ha nem fer ¨ ki az utolso´ mezon ¨ ˝ Pl: \karakterekkel torhet o. #define RNG (a>X && A<X+w && \ b>Y && b
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
7 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba: #define NULLA 0 . . . a=NULLA; . . .
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba: #define NULLA 0 . . . a=NULLA; . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba: #define NULLA 0 . . . a=NULLA; . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba: . . . a=0; . . .
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba: #define NULLA 0 . . . a=NULLA; . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba: . . . a=0; . . . ´ ´ Miert jo ez nekunk. ¨
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ asa ´ Ford´ıtasidej u˝ konstans definal ´ Ezt ´ırjuk a forrasba: #define NULLA 0 . . . a=NULLA; . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba: . . . a=0; . . . ´ ´ Miert jo ez nekunk. ¨ ´ ırassal ´ ´ tobb ¨ szaz ´ helyen is modos´ ´ Mert egyetlen at´ akar ıthatunk ´ eket. ´ ert
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
8 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ as ´ Makro´ definial
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
9 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ as ´ Makro´ definial
´ Ezt ´ırjuk a forrasba:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
9 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ as ´ Makro´ definial
´ Ezt ´ırjuk a forrasba: #define MAX(a,b) (a>b)?(a),(b) . . . z=MAX(x,y); . . .
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
9 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ as ´ Makro´ definial
´ Ezt ´ırjuk a forrasba: #define MAX(a,b) (a>b)?(a),(b) . . . z=MAX(x,y); . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
9 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ as ´ Makro´ definial
´ Ezt ´ırjuk a forrasba: #define MAX(a,b) (a>b)?(a),(b) . . . z=MAX(x,y); . . . ˝ ´ utan ´ az atmeneti ´ ´ ´ Ez kerul ¨ az elofeldolgoz as allom anyba: . . . z=x>y?x:y; . . .
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
9 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #undef utas´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
10 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #undef utas´ıtas ´ ´ forras ´ allom ´ ´ veg ´ eig ´ tart, Egy #define hatasa, vagy az aktualis any
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
10 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #undef utas´ıtas ´ ´ forras ´ allom ´ ´ veg ´ eig ´ tart, Egy #define hatasa, vagy az aktualis any ´ ´ vagy egy az adott szimbolumra vonatkozo´ #undef utas´ıtasig.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
10 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #undef utas´ıtas ´ ´ forras ´ allom ´ ´ veg ´ eig ´ tart, Egy #define hatasa, vagy az aktualis any ´ ´ vagy egy az adott szimbolumra vonatkozo´ #undef utas´ıtasig.
´ Pelda: #define NULLA 0 . . ´ enyes ´ Itt erv . #undef NULLA . . ´ nem erv ´ enyes ´ . Itt mar
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
10 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #undef utas´ıtas ´ ´ forras ´ allom ´ ´ veg ´ eig ´ tart, Egy #define hatasa, vagy az aktualis any ´ ´ vagy egy az adott szimbolumra vonatkozo´ #undef utas´ıtasig.
´ Pelda: #define NULLA 0 . . ´ enyes ´ Itt erv . #undef NULLA . . ´ nem erv ´ enyes ´ . Itt mar
´ ideju˝ konstansokra, mind a makrokra ´ Az #undef mind a ford´ıtas alkalmazhato´
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
10 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨ ´ ´ eszletek ´ ´ ez vezerelhet ´ ˝ Azonban kivalasztott kodr eseten o.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨ ´ ´ eszletek ´ ´ ez vezerelhet ´ ˝ Azonban kivalasztott kodr eseten o. ´ hasznalunk ´ ´ ´ Miert felteteles ford´ıtast:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨ ´ ´ eszletek ´ ´ ez vezerelhet ´ ˝ Azonban kivalasztott kodr eseten o. ´ hasznalunk ´ ´ ´ Miert felteteles ford´ıtast: ´ ´ ´ırni, platfrom fuggetlen ¨ kodot szeretnenk ´ ´ ´ırni, hardver fuggetlen ¨ kodot szeretnenk ´ szeretnenk ´ a fejlesztesi ´ verzioban, ´ ´ mast mint az eles futo´ programban, stb.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨ ´ ´ eszletek ´ ´ ez vezerelhet ´ ˝ Azonban kivalasztott kodr eseten o. ´ hasznalunk ´ ´ ´ Miert felteteles ford´ıtast: ´ ´ ´ırni, platfrom fuggetlen ¨ kodot szeretnenk ´ ´ ´ırni, hardver fuggetlen ¨ kodot szeretnenk ´ szeretnenk ´ a fejlesztesi ´ verzioban, ´ ´ mast mint az eles futo´ programban, stb. ´ ´ vezerl ´ es ´ ere ´ szolgalnak ´ ¨ ´ A felteteles ford´ıtas a kovetkez o˝ utas´ıtasok: #if, #else, #elif, #ifdef, #ifndef, #endif
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ ´ A felteteles ford´ıtas ´ ´ fogalma azt jelenti, hogy egy progranreszlet ´ A felteteles ford´ıtas a ´ folyamat soran ´ atker ´ ´ odb ´ ol ´ az atmeneti ´ ford´ıtasi ul-e ¨ a forrask ´ ´ ´ allom anyba, vagy nem kerul ¨ at. ´ esetben termeszetesen ´ ´ Normal - alaposan megdolgozva - atker ul. ¨ ´ ´ eszletek ´ ´ ez vezerelhet ´ ˝ Azonban kivalasztott kodr eseten o. ´ hasznalunk ´ ´ ´ Miert felteteles ford´ıtast: ´ ´ ´ırni, platfrom fuggetlen ¨ kodot szeretnenk ´ ´ ´ırni, hardver fuggetlen ¨ kodot szeretnenk ´ szeretnenk ´ a fejlesztesi ´ verzioban, ´ ´ mast mint az eles futo´ programban, stb. ´ ´ vezerl ´ es ´ ere ´ szolgalnak ´ ¨ ´ A felteteles ford´ıtas a kovetkez o˝ utas´ıtasok: #if, #else, #elif, #ifdef, #ifndef, #endif ´ ´ blokkot #endif utas´ıtas ´ zar ´ le!! Figyelem mindent felteteles ford´ıtasi ¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
11 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif #if kifejez´ es . . . Felt´ eteles blokk . . . #endif
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif #if kifejez´ es . . . Felt´ eteles blokk . . . #endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk ford´ıtasra kerul. ¨
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif #if kifejez´ es . . . Felt´ eteles blokk . . . #endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk ford´ıtasra kerul. ¨ ´ Ha a kifejez´ eshamis az #if es ¨ ott ¨ barmi ´ ´ az #endif koz lehet (meg gyerek vers is).
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif #if kifejez´ es . . . Felt´ eteles blokk . . .
es #if kifejez´ . . . Felt´ eteles blokk1 . . .
#else #endif . . . Ha a kifejez´ es igaz a Felt´ eteles blokk2 ´ Felt´ eteles blokk ford´ıtasra . . kerul. ¨ . ´ Ha a kifejez´ eshamis az #if es #endif ¨ ott ¨ barmi ´ ´ az #endif koz lehet (meg gyerek vers is).
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif es #if kifejez´ . . .
#if kifejez´ es . . . Felt´ eteles blokk . . .
Felt´ eteles blokk1 . . .
#endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk ford´ıtasra kerul. ¨ ´ Ha a kifejez´ eshamis az #if es ¨ ott ¨ barmi ´ ´ az #endif koz lehet (meg gyerek vers is).
#else . . .
¨ Dr. Schuster Gyorgy ()
Felt´ eteles blokk2 . . . #endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk1 ford´ıtasra kerul. ¨
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
#if, #else, #endif es #if kifejez´ . . .
#if kifejez´ es . . . Felt´ eteles blokk . . .
Felt´ eteles blokk1 . . .
#endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk ford´ıtasra kerul. ¨ ´ Ha a kifejez´ eshamis az #if es ¨ ott ¨ barmi ´ ´ az #endif koz lehet (meg gyerek vers is).
#else . . .
¨ Dr. Schuster Gyorgy ()
Felt´ eteles blokk2 . . . #endif Ha a kifejez´ es igaz a ´ Felt´ eteles blokk1 ford´ıtasra kerul. ¨ Ha a kifejez´ es hamis a eteles blokk2 kerul ¨ Felt´ ´ ford´ıtasra.
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
12 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #elif utas´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
13 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #elif utas´ıtas ´ ´ egyedul ´ ´ Ez tualjdonkeppen egy #else #if tehat ¨ nem hasznalhat o. ˝ ¨ ¨ os ¨ elagaz ´ ´ lehet csinalni ´ a Elonye, hogy egy hosszu´ - tobbsz or ast ´ evel ´ seg´ıtseg egy darab #endif-el.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
13 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #elif utas´ıtas ´ ´ egyedul ´ ´ Ez tualjdonkeppen egy #else #if tehat ¨ nem hasznalhat o. ˝ ¨ ¨ os ¨ elagaz ´ ´ lehet csinalni ´ a Elonye, hogy egy hosszu´ - tobbsz or ast ´ evel ´ seg´ıtseg egy darab #endif-el. #if kif1 . . . #elif kif2 . . . #elif kif3 . . . #elif kif4 . . . . . . #elif kifn . . . #endif ¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
13 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #elif utas´ıtas ´ ´ egyedul ´ ´ Ez tualjdonkeppen egy #else #if tehat ¨ nem hasznalhat o. ˝ ¨ ¨ os ¨ elagaz ´ ´ lehet csinalni ´ a Elonye, hogy egy hosszu´ - tobbsz or ast ´ evel ´ seg´ıtseg egy darab #endif-el. #if kif1 . . . #elif kif2 . . . #elif kif3 . . . #elif kif4 . . . . . . #elif kifn . . . #endif ¨az ()ennyire ´ nyelv ´tas ´ Dr. Schuster C programoz asi ofeldolgoz o´ford´ utas´ıtıasok 3. ´ Gyorgy ´˝ ´ ritka.2011. majus Megjegyz es: bonyolult feltEleteles
13 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #ifndef utas´ıtasok ´ #ifdef es
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
14 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #ifndef utas´ıtasok ´ #ifdef es ´ akkor tekintheto˝ igaznak, ha a Az #ifdef KONSTANS utas´ıtas ´ asra ´ ´ ekkel. ´ KONSTANS definial kerult. ¨ Teljesen mindegy, hogy milyen ert
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
14 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #ifndef utas´ıtasok ´ #ifdef es ´ akkor tekintheto˝ igaznak, ha a Az #ifdef KONSTANS utas´ıtas ´ asra ´ ´ ekkel. ´ KONSTANS definial kerult. ¨ Teljesen mindegy, hogy milyen ert
´ akkor tekintheto˝ igaznak, ha a Az #ifndef KONSTANS utas´ıtas ´ asra. ´ ´ asa ´ header KONSTANS nem kerult ¨ definial Tipikus felhasznal ´ ´ allom anyokban, pl.:
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
14 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #ifndef utas´ıtasok ´ #ifdef es ´ akkor tekintheto˝ igaznak, ha a Az #ifdef KONSTANS utas´ıtas ´ asra ´ ´ ekkel. ´ KONSTANS definial kerult. ¨ Teljesen mindegy, hogy milyen ert
´ akkor tekintheto˝ igaznak, ha a Az #ifndef KONSTANS utas´ıtas ´ asra. ´ ´ asa ´ header KONSTANS nem kerult ¨ definial Tipikus felhasznal ´ ´ allom anyokban, pl.:
#ifndef char 95NEVHEADER #define char 95NEVHEADER 0 . . . a header f´ ajl ´ erdemi r´ esze . . . #endif ¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
14 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni.
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni. ´ hogy ford´ıtas ´ kozben ¨ ´ onak ´ A #warning arra szolgal, a felhasznal kuldj ¨ unk ¨ uzenetet. ¨
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni. ´ hogy ford´ıtas ´ kozben ¨ ´ onak ´ A #warning arra szolgal, a felhasznal kuldj ¨ unk ¨ uzenetet. ¨ Pl.: #warning Hello ´ ´ soran. ´ Ekkor a Hello uzenet ¨ ki´ırasra kerul ¨ a ford´ıtas
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni. ´ hogy ford´ıtas ´ kozben ¨ ´ onak ´ A #warning arra szolgal, a felhasznal kuldj ¨ unk ¨ uzenetet. ¨ Pl.: #warning Hello ´ ´ soran. ´ Ekkor a Hello uzenet ¨ ki´ırasra kerul ¨ a ford´ıtas ´ (inkabb ´ operator) ´ ¨ ´ ¨ ´ et ´ vegzi. ´ A ## utas´ıtas szovegr eszletek osszef uz ˝ es
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni. ´ hogy ford´ıtas ´ kozben ¨ ´ onak ´ A #warning arra szolgal, a felhasznal kuldj ¨ unk ¨ uzenetet. ¨ Pl.: #warning Hello ´ ´ soran. ´ Ekkor a Hello uzenet ¨ ki´ırasra kerul ¨ a ford´ıtas ´ (inkabb ´ operator) ´ ¨ ´ ¨ ´ et ´ vegzi. ´ A ## utas´ıtas szovegr eszletek osszef uz ˝ es Pl.: ´ a forrasban value##a=5;
¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15
˝ ´ Elofeldolgoz o´ utas´ıtasok
´ #pragma, #warning utas´ıtas ˝ ´ A #pragma elofeldolgoz o´ utas´ıtassal a ford´ıto´ programnak tudunk ¨ oz ¨ o˝ utas´ıtasokat ´ ´ aul ´ adott figyelmezteteseket ´ kul ¨ onb adni. Peld ki, illetve be tudunk vele kapcsolni. ´ hogy ford´ıtas ´ kozben ¨ ´ onak ´ A #warning arra szolgal, a felhasznal kuldj ¨ unk ¨ uzenetet. ¨ Pl.: #warning Hello ´ ´ soran. ´ Ekkor a Hello uzenet ¨ ki´ırasra kerul ¨ a ford´ıtas ´ (inkabb ´ operator) ´ ¨ ´ ¨ ´ et ´ vegzi. ´ A ## utas´ıtas szovegr eszletek osszef uz ˝ es Pl.: ´ a forrasban value##a=5; ´ a beford´ıtott kodban valuea=5; ´ ´ an ´ al. ´ Nagyon hasznos programgenerator ´ıras ¨ Dr. Schuster Gyorgy ()
´ nyelv Elofeldolgoz ˝ ´ C programozasi o´ utas´ıtasok
´ 2011. majus 3.
15 / 15