Jēdziens definīcijā ABC
Miscellanea / / July 04, 2021
Autore: Guillem Alsina González, sept. 2017
Kā mēs varam saprasties ar kādu, ar kuru mums nav kopīgas valodas? Ar tulka starpniecību. Šī tulkošanas funkcija ir tā, kas veic a sastādītājs pārvērsties kods izpildāms pirmkods, kuru uzrakstījis programmētājs.
Kompilācija ir process, kurā notiek programma, kas rakstīta augsta līmeņa valodā tulkots uz mašīnkodu, ko tā izpildei izmanto noteikta datora arhitektūra tieša.
Tādēļ un saskaņā ar tikko piedāvāto skaidrojumu šai sistēmai ir jāizvēlas a arhitektūra galamērķis, kas katrā gadījumā var būt atšķirīgs un liks mums apkopot atsevišķi katrai no dažādajām arhitektūrām, kurās mēs vēlamies palaist mūsu programmu.
Tā, piemēram, mēs varam pāriet uz noteiktu programmu 32 bitu x86 arhitektūrai, 64 bitu x86, PowerPC vai ARM arī diferencē 32 un 64 bitus atkarībā no ierīces veida, kurā mēs vēlamies palaidiet to.
Turklāt mums jāņem vērā arī dažādas operētājsistēmas, pat ja mēs strādājam vienā platformā aparatūra, jo katram no tiem ir atšķirīgs mijiedarbības veids ar fizisko mašīnu
Kā piemēru ņemsim x86 64 bitu platformu. Mēs varētu vēlēties apkopot Windows, GNU / Linux vai macOS vai katram no tiem, kas nozīmē trīs atsevišķus kompilācijas procesus.
Dažreiz tas liek mums nedaudz pielāgot pirmkodu, bieži saglabājot trīs atsevišķas versijas (vai vairāk, atkarībā no gadījumā), lai viņi pareizi mijiedarbotos ar galamērķa platformas īpatnībām un atšķirībām.
Kompilācijas process seko virknei darbību, piemēram, sintaktisko kļūdu noteikšanai pirmkodā, pēc tam a iepriekš apstrādāti, lai zinātu programmas nepieciešamos resursus un visbeidzot saikni ar bibliotēkām un tai nepieciešamos resursus izpilde.
Tādā veidā a failu izpildāms, kas satur visus resursiem nepieciešami tā izpildei, un instrukcijas, kas nepieciešamas, lai piekļūtu ārējiem resursiem, piemēram, koplietojamo kodu bibliotēkām (dalīts).
Kompilācijas process tiek veikts ar īpašu rīku vai rīkiem (kompilatoru), lai gan parasti tas tiek integrēts attīstības vidēs (IDE), tādējādi atvieglojot tā izmantošana.
Katra programmēšana Tam ir savs kompilators, kaut arī ilgu laiku valodai un videi atbilstošais kompilators ir spējis ģenerēt izpildāmos failus dažādām platformām. programmatūru savādāk.
Vai būvēšanas procesam ir alternatīva iespēja? Jā, un tās ir tulkotas valodas.
Tulkotās valodas ir tās, kuras tiek tulkotas izpildes laikā, nevis apkopotas.
Tāpēc viņu pirmkods vienmēr ir pieejams, un viņiem tas ir nepieciešams operētājsistēma uz kuras tie tiek izpildīti, ir tulks.
Izvairoties no sastādīšanas procesa, ja tulks ir pieejams vairākām platformām, programmu būs iespējams palaist tieši uz visiem, parasti bez izmaiņām.
Cits fokuss pusceļā starp apkopotajām un interpretētajām valodām ir alternatīvas valodas, kuru darbināšanai nepieciešama virtuālā mašīna, piemēram, Java.
Programmēšanas valodām, kas darbojas virs virtualizācijas slāņa (virtuālās mašīnas), ir nepieciešams starpprocess, kas ir līdzīgs procesam kompilācija, bet tā rezultātā tiek iegūts kods, kas nav tieši izpildāms, lai gan tas ir vairāk optimizēts nekā valodas izpildītais interpretēts.
Šādos gadījumos tas prasa procesu, kas pēc formas ir līdzīgs kompilācijas procesam, bet tas dod atšķirīgu rezultātu, un tomēr jebkurā gadījumā tas prasa uzstādīšana gada a izpildlaiks operētājsistēmā, kurā mēs vēlamies palaist savu programmu.
Fotoattēli: Fotolia - Aleksandrs Pokusajs / Onots
Tēmas kompilācijā