Forkompileret også kendt som præ-behandling, er det udførte arbejde erstatte teksten kode
Kommandoer, der begynder med #, # include filer såsom kopiere koden indeholdt erstatte # define makrodefinitioner, betinget kompilering osv.
Er scenen for at gøre det forberedende arbejde for udarbejdelse af
Primært beskæftige sig med præ-compiler direktiv # BegyndelsePre-compiler direktiv angiver handling før de formelle procedurer, der udføres af compiler til at kompilere det, og kan placeres hvor som helst i programmet. Fælles pre-compiler direktiver er:
(1) # include direktiv
Direktivet instruerer compiler til at indsætte hele indholdet af filen xxx.xxx her. Hvis du bruger <> derefter finde den fil vedlagt i INDEHOLDE fil system mappe, hvis indesluttet i "" derefter søge efter filen fra fil i den aktuelle mappe. Generelt er dokumentet endelsen "h" eller "CPP" header filer.
Bemærk: <> ikke søge efter header filer i det aktuelle katalog, hvis vi ikke <> i stedet for "" filnavn ekspansion fra hovedet, og dens betydning for de tidligere søgning header filer i det aktuelle katalog, så i Standarden bibliotek søgning.
(2) # define direktiv
Kommandoen har tre formål:
Den første er definitionen af identitet, identitet gyldige område for hele programmet, formet som en # define XXX, anvendes ofte i forbindelse med # if;
Den anden er at definere konstanter, såsom # definerer max 100, repræsentanter max (i dette tilfælde brugen af definerede konstanter const bedre grund se note 1) 100;
Den tredje er definitionen af "funktion", såsom # define get_max (a, b) ((a)> (b) (a): (B)) anvendes efter get_max (x, y) kan opnås x og y i større antal (der er nogle ulemper ved denne metode, se note 2).
(3) # hvis # else og # endif direktiv
Disse instruktioner er typisk anvendes i forbindelse med dette:
# Hvis defineret (identifikation) / / Hvis definitionen af identitet
Instruktion skal udføres
# Else
Instruktion skal udføres
# Endif
I header fil for at undgå gentagne opkald (for eksempel to header filer indeholder hinanden), ofte ved hjælp af en sådan struktur:
# Hvis! (Definerede XXX) / / XXX i dit program som en entydig identifikator,
/ / Hvert id header fil bør ikke være den samme.
Fælles metode identifier / / hvis den header fil er opkaldt fra "abc.h"
/ / Er identificeret som "abc_h"
# Definer XXX
Fast indhold, såsom funktionen erklæring
# Endif
Note 1: Fordi: const konstante datatyper, konstanter og makroer uden datatyper. Compileren kan udføre typen sikkerhedstjek på førstnævnte, mens sidstnævnte kun udskiftning karakter, ingen typen sikkerhedskontroller, og kan generere uventede fejl (marginal effekt), når udskiftning karakter.
Note 2: eksempelvis get_max (a , b) når en vil blive gennemført et antal gange afhængig af størrelse og b! Så blev det foreslået at bruge inline funktioner i stedet for denne metode til at forbedre hastigheden. Selv om sådanne ulemper, men denne metode er virkelig meget fleksible, fordi a og b kan være af forskellige datatyper.
|