Skip to main content

Vad är villkorad sammanställning?

I datorprogrammering beskriver villkorad sammanställning förmågan hos en programvarukompilator eller källkodprocessor att inkludera eller ignorera vissa kommandon eller kodblock baserat på språkspecifika instruktioner som inte är tekniskt en del av kärnprogrammeringsspråkspecifikationen.Kommandona som används för att utlösa villkorad sammanställning i ett program kallas ofta förprocessordirektiv, även om de också kan vara kända som kompilatordirektiv, villkorade kommentarer eller villkorade definitioner.Beroende på kompilatorn eller språket som används kan de villkorade direktiven vara användardefinierade variabler eller makron, eller så kan de också vara systemvariabler som ställts in av kompilatorn eller operativsystemet.Villkorlig sammanställning används ofta för att konfigurera en enda uppsättning källkodfiler så att de kan sammanställas under olika miljöer eller operativsystem utan att behöva byta eller ändra källfiler.

De villkorade definierna som används för att testa för villkorad sammanställning kan variera frånEtt språk för ett annat, men de är i allmänhet makron eller andra metadatauttryck utanför ramen för de normala programvariablerna.På språk som C är variablerna vanligtvis makron som läses av en förbehandling.För det mesta är makroerna inte tillgängliga genom faktiska körbara programkällkoden, även om de finns i samma källfiler.

-Den uttalande.De grundläggande testerna som kan utföras för villkorad sammanställning är om ett värde definieras, inte definieras eller i vissa fall om två definierade variabler är likvärdiga.Variablerna eller makronen själva har i allmänhet inte något värde av betydelse, eftersom handlingen att definiera dem är vad direktiven kontrollerar för.Med vissa språk och kompilatorer kan värdet på en definierad variabel emellertid betyda om de utvärderas för det booleska tillståndet. När en kompilator möter direktiv som används för villkorad sammanställning, utvärderas direktiven för att se om de testar som sanna eller falska.Om det är sant sammanställs koden som följer direktivet som normalt;Annars kommer kompilatorn helt att hoppa över koden som finns under direktivet.Detta är till skillnad från villkorade logiska uttalanden inom själva körbara programkoden eftersom även om logiken har ett kodblock som inte kan köras kommer den fortfarande att tolkas och sammanställas i de flesta fall.Med villkorade förprocessordirektiv ingår, hoppar över kod aldrig, tolkas eller sammanställs.Det bör också noteras att när förprocessorn har utvärderat alla villkorade variabler och direktiv är de inte sammanställda med resten av programmet, eftersom de endast är avsedda att ge riktning till kompilatorn. Villkorlig sammanställning är oftastanvänds för att inkludera eller utesluta kod som är specifik för ett visst operativsystem eller miljö.Detta innebär att bibliotek som finns i ett operativsystem kan inkluderas villkorligt om direktiven avgör att programmet sammanställs under det operativsystemet.Alternativt kan direktiven också användas för att inkludera eller utesluta kod baserat på användardefinierade variabler.Detta kan göras så att felsökning eller profileringskod inte ingår i den slutliga versionen av ett program, eller så kan vissa funktioner vara aktiverade eller inaktiverade utan att behöva behålla separata kopior av koden.