Broncode: verschil tussen versies

42 bytes toegevoegd ,  7 jaar geleden
k
Robotgeholpen doorverwijzing: Assembler - Koppeling(en) gewijzigd naar assembler (software)
k (Robotgeholpen doorverwijzing: Assembler - Koppeling(en) gewijzigd naar assembler (software))
De broncode kan op een aantal manieren worden omgezet naar uitvoerbare code zodat het programma uitgevoerd kan worden.
 
* Met een compiler: Een compiler zet de broncode om in machinetaal zodat deze uitgevoerd kan worden. Als de compiler eerst assembly-code genereert moet de [[assembler (software)|assembler]] dat eerst naar machinetaal vertalen om het uitvoerbare programma te verkrijgen.
* Met een interpreter: De broncode kan in sommige gevallen ook uitgevoerd worden met een interpreter, een programma dat de broncode gelijk uitvoert. Dit is doorgaans een stuk langzamer dan een gecompileerd programma, aangezien elke regel van de code eerst omgezet moet worden naar machinetaal, waarna het uitgevoerd wordt. Een interpreter die direct de broncode uitvoert is mogelijk, maar wordt in verband met de slechtere prestatie niet gebruikt voor veeleisende toepassingen.
* Middels een [[virtuele machine]]. Bij veel moderne programmeertalen, zoals [[C♯|C#]], [[Programmeertaal Java|Java]], [[Perl (programmeertaal)|Perl 6]] en [[Scala_(programmeertaal)|Scala]] wordt meestal een mengvorm gebruikt: de broncode wordt eerst gecompileerd naar een tussentaal ([[bytecode]], [[P-code]] of 'managed code' [[MSIL]]), die vervolgens door een ''virtuele machine'' wordt geïnterpreteerd. Enkele voordelen van deze constructie zijn:
Er is ook een constructie waarbij de broncode in een andere broncode wordt vertaald. Bijvoorbeeld in de taal [[PL/SQL]] waarbij de universele PL/SQL compiler de broncode naar een C-code (ontdaan van [[objectgeoriënteerd]]e code maar voorzien van 'embedded SQL') vertaald die automatisch door een 'native' C compiler weer vertaald wordt naar een zeer optimale machinecode.
 
Het is ook mogelijk direct te [[Programmeren (computer)|programmeren]] in machinetaal. Doorgaans wordt hier van een (low-level) programmeertaal gebruikgemaakt in de vorm van een [[assembler (software)|assembler]] waarbij in principe één regel code enkele machine-codes opleveren voor slechts één processorstap. Dit wordt soms gedaan voor uiterst tijdkritische code, want het is specialistisch en zeer arbeidsintensief werk. Optimalisaties die compilers doen zijn tegenwoordig onovertroffen. Ook is machinetaal platformafhankelijk en de investering wordt direct waardeloos bij gebruikt van een incompatibele constellatie.
 
=== Voorbeeld ===
413.776

bewerkingen