Wat is een preprocessor?

Over het algemeen, wanneer iemand verwijst naar een processor in computers, bedoelen ze een soort siliciumchip die berekeningen uitvoert. De P in CPU, GPU, APU, NPU en vele andere vormen van logische chips staat voor "Processing", ofwel Central Processing Unit. Elk van hen is een specifiek type processor, geoptimaliseerd voor zijn specifieke functie. Een preprocessor heeft echter niets te maken met fysieke processors zoals de CPU of GPU. In plaats daarvan is het een programmeerterm die specifiek betrekking heeft op gecompileerde talen.

Wat is een compiler?

Een compiler is een stuk software dat een specifieke programmeertaal in machinecode compileert. Alle programmeertalen moeten worden omgezet in machinecode, omdat de voor mensen leesbare instructies waaruit bruikbare programmeertalen bestaan, niet direct door de computer kunnen worden uitgevoerd. Sommige zijn ontworpen om direct te worden geïnterpreteerd wanneer de code wordt uitgevoerd. Deze aanpak is zeer flexibel waardoor het gemakkelijk is om kleine wijzigingen aan te brengen. Veel andere programmeertalen moeten echter worden gecompileerd om te kunnen worden uitgevoerd. Bij kleine programma's hoeft dit niet per se lang te duren. Bij grotere programma's kan het compileren echter minuten of zelfs uren duren.

Dus waarom zou je een taal willen gebruiken die gecompileerd moet worden? Nou, het is moeilijker om te reverse-engineeren. Bij geïnterpreteerde programmeertalen wordt de code vaak ongewijzigd gedistribueerd, waardoor het gemakkelijk te "stelen" is. Voor bedrijven die hun intellectuele eigendom willen beschermen, is het compileren van inserts een complexe en onbetrouwbare stap van reverse engineering om de daadwerkelijke code te zien. Gecompileerde software is meestal ook kleiner, omdat deze is geoptimaliseerd voor uitvoering. Dit is niet echt een probleem met kleine scripts, maar als het gaat om grote software, honderden megabytes of zelfs gigabytes groot, kan dit een merkbaar effect hebben.

Dus wat doet een preprocessor?

Een preprocessor is een hulpprogramma dat code overloopt voordat deze wordt gecompileerd. Doorgaans zal een compiler automatisch de preprocessor aanroepen wanneer deze start, maar ze kunnen ook afzonderlijk worden uitgevoerd. De taak van de preprocessor is om de code precies zo in te stellen als bedoeld. Het doet dat voornamelijk door zoek- en vervangfuncties uit te voeren.

In C is het bijvoorbeeld standaardpraktijk om een ​​aantal standaardbibliotheken te gebruiken. Deze bibliotheken definiëren een reeks functies die standaardfunctionaliteit bieden. Om deze bibliotheken te importeren, wordt het sleutelwoord "#include" gebruikt, gevolgd door een bibliotheeknaam. De preprocessor doorzoekt de code op uitspraken als "#include" en vervangt deze. In het geval van "#include" voegt de preprocessor de volledige inhoud van de gespecificeerde bibliotheek in.

Hierdoor kunt u de feitelijk geschreven code gemakkelijk leesbaar houden en tegelijkertijd gebruikmaken van vele krachtige en reeds bestaande tools. Het bespaart u het wiel voor elke toepassing opnieuw uit te vinden of een deel of de hele bibliotheek in de codebasis te plakken.

Een ander potentieel gebruik van een preprocessor is het strippen of toevoegen van bepaalde functionaliteit, afhankelijk van de bedoeling van de build. Als u bijvoorbeeld een nieuwe build wilt testen, kan het erg handig zijn om een ​​aantal foutopsporingsstappen op te nemen. Deze zijn niet alleen niet nodig in release-builds, maar ze maken de gecompileerde software zelfs groter. Een preprocessor kan compilerargumenten controleren en bepalen of bepaalde functionaliteit moet worden opgenomen of genegeerd. Op dezelfde manier verwijdert een preprocessor opmerkingen meestal vóór de compiler, omdat deze niet in een build mogen worden opgenomen.

Conclusie

Een preprocessor is een tool die door een compiler wordt uitgevoerd om de code te manipuleren voordat deze daadwerkelijk wordt gecompileerd. Hoewel de preprocessor afzonderlijk kan worden aangeroepen, wordt deze doorgaans aangeroepen als onderdeel van het compilatieproces. De preprocessor zoekt naar bepaalde gedefinieerde strings en vervangt deze door standaardinhoud. Voor opmerkingen is er geen vervanging, maar voor instructies die externe bibliotheken bevatten, vervangt de preprocessor de instructie door de inhoud van de eigenlijke bibliotheek. De preprocessor kan ook tijdens het compileren argumenten gebruiken om bepaalde functionaliteit te poorten. Dit wordt vaak gebruikt om foutopsporingsfunctionaliteit op te nemen in of uit te sluiten van test- of releasebuilds.



Leave a Comment

Hoe een harde schijf te klonen

Hoe een harde schijf te klonen

In het moderne digitale tijdperk, waarin gegevens een waardevol bezit zijn, kan het klonen van een harde schijf op Windows voor velen een cruciaal proces zijn. Deze uitgebreide gids

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Krijgt u tijdens het opstarten van uw computer de foutmelding dat het stuurprogramma WUDFRd niet op uw computer kan worden geladen?

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Ervaar je NVIDIA GeForce-ervaring met foutcode 0x0003 op je desktop? Zo ja, lees dan de blog om te zien hoe u deze fout snel en eenvoudig kunt oplossen.

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

Het kan vervelend zijn om te maken te krijgen met buigingen aan de onderkant van een afdruk. Hier ziet u hoe u de olifantenpoot kunt repareren in 3D-printen.

Basisprincipes van 3D-printen: hechting van het printerbed

Basisprincipes van 3D-printen: hechting van het printerbed

Leren over 3D-printen? Dit is wat u moet weten over ahesie van het printerbed.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Fix Roku speelt geen audio of video af

Fix Roku speelt geen audio of video af

Als Roku geen audio of video afspeelt, biedt deze gids voor probleemoplossing u een reeks handige oplossingen om het probleem op te lossen.

Fix Roku-kanaal kon inhoud niet laden

Fix Roku-kanaal kon inhoud niet laden

Als Roku een foutmelding geeft dat de inhoud op de kanalen niet kan worden geladen, kunt u uw apparaat opnieuw opstarten of een nieuw account maken.

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Als uw Chromebook het afdrukvoorbeeld niet kan laden, start u uw laptop, printer en router opnieuw op. Verwijder bovendien de printer en installeer deze opnieuw.

Een GPU verwijderen van een Windows-pc in 2023

Een GPU verwijderen van een Windows-pc in 2023

Moet u de GPU van uw pc verwijderen? Ga met me mee terwijl ik uitleg hoe je een GPU van je pc verwijdert in deze stapsgewijze handleiding.