Підтримка
www.wikidata.uk-ua.nina.az
Preprocesor S S programnij instrument yakij vikoristovuyetsya v movah programuvannya C ta C preprocesor sho zminyuye kod programi dlya podalshoyi kompilyaciyi j zbirki Mova preprocesora C C ne ye povnoyu za Tyuringom hocha b tomu sho za dopomogoyu direktiv nemozhlivo zmusiti preprocesor zavisnuti DirektiviDiv takozh Direktiva programuvannya Direktivoyu preprocesora nazivayetsya ryadok u kodi yakij maye takij viglyad klyuchove slovo parametri Ye chitko viznachenij spisok klyuchovih sliv define Zadaye makroviznachennya makrosi abo konstantu undef Skasovuye poperednye viznachennya include Vstavlyaye tekst z zaznachenogo fajlu importuye if Zdijsnyuye umovnu kompilyaciyu pri istinnosti konstantnogo virazu ifdef Zdijsnyuye umovnu kompilyaciyu yaksho konstanta viznachena ifndef Zdijsnyuye umovnu kompilyaciyu pri neviznachenosti konstanti else Gilka umovnoyi kompilyaciyi pri hibnosti vislovlyuvannya elif Gilka umovnoyi kompilyaciyi utvorena zlittyam else ta if endif Kinec gilki umovnoyi kompilyaciyi line Preprocesor zminyuye nomer potochnogo ryadka j im ya fajlu dlya kompilyaciyi error Visvitlennya povidomlennya z zupinki kompilyaciyi pragma Diyu sho zalezhit vid konkretnoyi realizaciyi kompilyatora warning Visvitlennya povidomlennya bez zupinki kompilyaciyi porozhnye slovo pusta diyaOpis direktivKonstanti ta makrosi define Konstanti ta makrosi preprocesora vikoristovuyutsya dlya viznachennya nevelikih fragmentiv kodu Zazvichaj konstanti viznachayutsya za dopomogoyu velikih liter konstanta define BUFFER SIZE 1024 define PI 3 14 makros define NUMBER OF ARRAY ITEMS array sizeof array sizeof array Kozhna konstanta i kozhen makros zaminyuyutsya vidpovidnim yim viznachennyam Makrosi mayut parametri shozhi na funkciyi vikoristovuyutsya dlya zmenshennya kodu Priklad viznachennya makrosa max yakij prijmaye dva argumenti a i b ta povertaye bilshe z dvoh chislo define max a b a gt b a b Makros viklikayetsya yak zvichajna funkciya z max x y Pislya zamini makrosa kod viglyadatime tak z x gt y x y Direktiva include Pri viyavlenni direktiv include abo include lt gt de im ya fajlu preprocesor chitaye vmist zaznachenogo fajlu vikonuye direktivi j zamini pidstavlennya Dlya include poshuk fajlu vikonuyetsya v cij teci j tekah zaznachenih v komandnomu ryadku kompilyatora Dlya include lt gt poshuk fajlu vikonuyetsya v tekah sho mistyat fajli standartnoyi biblioteki shlyah do cih tek zalezhat vid kompilyatora Fajli sho vklyuchayutsya zazvichaj mistyat ogoloshennya funkcij ogoloshennya globalnih zminnih viznachennya interfejsiv viznachennya tipiv danih strukturi ta inshe Direktiva includezazvichaj vkazuyetsya na pochatku fajlu v zagolovku tomu vklyuchayutsya fajli nazivayutsya zagolovkami Priklad vklyuchennya fajliv zi standartnoyi biblioteki movi C include lt math h gt importuvannya matematichnih funkcij standartna biblioteka include lt foo h gt importuvannya fajlu ne zi standartnoyi biblioteki Vikoristannya preprocesora vvazhayetsya neefektivnim z nastupnih prichin kozhen raz pri vklyuchenni fajliv vikonuyutsya direktivi j zamini pidstavlyannya kompilyator mig bi zberigati rezultati preprocesoruvannya dlya vikoristannya v majbutnomu mnozhinni vklyuchennya odnogo fajlu dovoditsya zapobigati vruchnu za dopomogoyu direktiv umovnoyi kompilyaciyi kompilyator mig bi vikonuvati cyu zadachu samostijno Pochinayuchi z 1970 h rokiv stali z yavlyatisya sposobi yakimi zamineno vklyuchennya fajliv U movah Java i Common Lisp vikoristovuyutsya paketi klyuchove slovo package div v movi Paskal angl units klyuchovi slova uniti uses u movah Modula OCaml D Haskell i Python moduli Vikoristovuyutsya klyuchovi slova modulei import PosilannyaThe C Preprocessor angl
Топ