Kas yra pirminis procesorius?

Paprastai, kai kas nors kalba apie procesorių skaičiavime, tai reiškia tam tikrą silicio lustą, kuris atlieka skaičiavimus. P CPU, GPU, APU, NPU ir daugelyje kitų loginių lustų formų reiškia „apdorojimą“, ty centrinį procesorių. Kiekvienas iš jų yra tam tikro tipo procesorius, optimizuotas konkrečiai jo funkcijai. Tačiau išankstinis procesorius neturi nieko bendra su fiziniais procesoriais, tokiais kaip CPU ar GPU. Vietoj to, tai programavimo terminas, konkrečiai susijęs su kompiliuotomis kalbomis.

Kas yra kompiliatorius?

Kompiliatorius yra programinės įrangos dalis, kuri sukompiliuoja tam tikrą programavimo kalbą į mašininį kodą. Visos programavimo kalbos turi būti konvertuotos į mašininį kodą, nes žmogaus skaitomos instrukcijos, kurios sudaro tinkamas programavimo kalbas, nėra tiesiogiai vykdomos kompiuteriu. Kai kurie yra sukurti taip, kad būtų interpretuojami skrydžio metu, kai vykdomas kodas. Šis metodas yra labai lankstus, todėl lengva atlikti nedidelius pakeitimus. Tačiau daugelis kitų programavimo kalbų turi būti sukompiliuotos, kad jas būtų galima vykdyti. Mažose programose tai nebūtinai užtrunka ilgai. Tačiau naudojant didesnes programas, kompiliavimas gali užtrukti kelias minutes ar net valandas.

Taigi kodėl norėtumėte naudoti kalbą, kurią reikia kompiliuoti? Na, sudėtingiau pakeisti inžineriją. Interpretuojamų programavimo kalbų kodas dažnai paskirstomas toks, koks yra, todėl jį lengva „pavogti“. Įmonėms, norinčioms apsaugoti savo intelektinę nuosavybę, kompiliavimas įterpia sudėtingą ir nepatikimą atvirkštinės inžinerijos žingsnį, kad pamatytų tikrąjį kodą. Sukompiliuota programinė įranga taip pat paprastai yra mažesnė, nes ji buvo optimizuota vykdyti. Tai tikrai nėra problema su mažais scenarijais, tačiau dirbant su didele programine įranga, kurios dydis yra šimtai megabaitų ar net gigabaitų, tai gali turėti pastebimą poveikį.

Taigi, ką daro pirminis procesorius?

Pirminis procesorius yra programa, kuri paleidžiama per kodą prieš jį sukompiliuojant. Paprastai kompiliatorius automatiškai iškviečia pirminį procesorių, kai jis prasideda, tačiau jie taip pat gali būti paleisti atskirai. Pirminio procesoriaus užduotis yra nustatyti kodą tiksliai taip, kaip numatyta. Tai visų pirma atlieka atlikdama paieškos ir keitimo funkcijas.

Pavyzdžiui, C kalboje įprasta naudoti keletą standartinių bibliotekų. Šios bibliotekos apibrėžia eilę funkcijų, kurios teikia standartines funkcijas. Norint importuoti šias bibliotekas, naudojamas raktinis žodis „#include“, po kurio nurodomas bibliotekos pavadinimas. Išankstinis procesorius kode ieško tokių teiginių kaip „#include“ ir juos pakeičia. „#include“ atveju išankstinis procesorius įterpia visą nurodytos bibliotekos turinį.

Tai leidžia iš tikrųjų parašytą kodą išlaikyti lengvai skaitomą, kartu naudojant daug galingų ir jau egzistuojančių įrankių. Taip išvengsite kiekvienos programos rato išradimo iš naujo arba kai kurios ar visos bibliotekos įklijavimo į kodo bazę.

Kitas galimas išankstinio procesoriaus panaudojimas yra tam tikrų funkcijų pašalinimas arba pridėjimas, atsižvelgiant į kūrimo tikslą. Pavyzdžiui, jei norite išbandyti naują versiją, gali būti tikrai naudinga įtraukti daugybę derinimo veiksmų. Tai ne tik nereikalinga versijose, bet ir iš tikrųjų padidina sukompiliuotą programinę įrangą. Išankstinis procesorius gali patikrinti kompiliatoriaus argumentus ir nustatyti, ar reikia įtraukti tam tikras funkcijas, ar jų nepaisyti. Panašiai, išankstinis procesorius paprastai pašalina komentarus prieš kompiliatorių, nes jie neturėtų būti įtraukti į kūrimą.

Išvada

Išankstinis procesorius yra įrankis, kurį valdo kompiliatorius, skirtas manipuliuoti kodu prieš jį iš tikrųjų sukompiliuojant. Nors išankstinis procesorius gali būti vadinamas atskirai, jis paprastai vadinamas kompiliavimo proceso dalimi. Pirminis procesorius ieško tam tikrų apibrėžtų eilučių ir pakeičia jas standartiniu turiniu. Komentarai nepakeičiami, tačiau teiginiuose, kuriuose yra išorinių bibliotekų, išankstinis apdorojimas pakeičia teiginį tikrosios bibliotekos turiniu. Išankstinis procesorius taip pat gali naudoti kompiliavimo laiko argumentus, kad užtikrintų tam tikras funkcijas. Tai dažnai naudojama norint įtraukti arba neįtraukti derinimo funkcijų į bandomąsias ar leidimo versijas.


Kaip klonuoti standųjį diską

Kaip klonuoti standųjį diską

Šiuolaikiniame skaitmeniniame amžiuje, kai duomenys yra vertingas turtas, kietojo disko klonavimas sistemoje „Windows“ daugeliui gali būti labai svarbus procesas. Šis išsamus vadovas

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Kaip pataisyti tvarkyklę, kurios WUDFRd nepavyko įkelti sistemoje „Windows 10“?

Ar paleidžiant kompiuterį matote klaidos pranešimą, kuriame rašoma, kad tvarkyklės WUDFRd nepavyko įkelti į kompiuterį?

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Kaip ištaisyti „NVIDIA GeForce Experience“ klaidos kodą 0x0003

Ar jūsų darbalaukyje yra NVIDIA GeForce patirties klaidos kodas 0x0003? Jei taip, perskaitykite tinklaraštį, kad sužinotumėte, kaip greitai ir paprastai ištaisyti šią klaidą.

Kas yra SMPS?

Kas yra SMPS?

Prieš rinkdamiesi SMPS savo kompiuteriui, sužinokite, kas yra SMPS ir ką reiškia skirtingi efektyvumo rodikliai.

Kas yra izoliacija pagrįstas saugumas?

Kas yra izoliacija pagrįstas saugumas?

Ketinau įsigilinti į temą, kuri tampa vis svarbesnė kibernetinio saugumo pasaulyje: izoliacija pagrįstas saugumas. Šis požiūris į

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Kaip naudoti „Auto Clicker“, skirtą „Chromebook“.

Šiandien ketinome įsigilinti į įrankį, kuris gali automatizuoti pasikartojančias spustelėjimo užduotis jūsų „Chromebook“ įrenginyje: automatinį spustelėjimą. Šis įrankis gali sutaupyti laiko ir

Roomba sustoja, sustoja ir apsisuka – pataisykite

Roomba sustoja, sustoja ir apsisuka – pataisykite

Išspręskite problemą, kai Roomba robotas siurblys sustoja, prilimpa ir vis sukasi.

Kodėl „Chromebook“ neįsijungia

Kodėl „Chromebook“ neįsijungia

Gaukite atsakymus į klausimą, kodėl „Chromebook“ neįsijungia? Šiame naudingame „Chromebook“ naudotojams skirtame vadove.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

Kaip pakeisti grafikos nustatymus „Steam Deck“.

„Steam Deck“ siūlo tvirtą ir įvairiapusę žaidimo patirtį, kuri yra jūsų rankose. Tačiau norėdami optimizuoti savo žaidimus ir užtikrinti geriausią įmanomą

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Kaip pakeisti laikrodžio ciferblatą „Fitbit Versa 4“.

Pakeiskite savo Fitbit Versa 4 laikrodžio ciferblatą, kad kasdien nemokamai atrodytumėte kitaip. Pažiūrėkite, kaip tai greita ir paprasta.