Video: Writing 2D Games in C using SDL by Thomas Lively 2025
Het programmeerapparaat kan een enkel programma onderbreken in afzonderlijke bronbestanden die algemeen bekend staan als modules . Deze modules worden door de C ++-compiler afzonderlijk in machinecode gecompileerd en vervolgens tijdens het bouwproces gecombineerd om een enkel programma te genereren.
Deze modules zijn ook bekend bij compiler geeks als C ++ vertaaleenheden. Het proces van het combineren van afzonderlijk gecompileerde modules tot een enkel programma wordt koppelen genoemd.
Programma's onderverdelen in kleinere, beter hanteerbare stukken heeft verschillende voordelen. Ten eerste vermindert het verbreken van een programma in kleinere modules de compileertijd. Zeer grote programma's kunnen nogal wat tijd in beslag nemen.
Bovendien is het compileren van alle broncodes in het project, alleen omdat een of twee regels veranderen, uiterst verspillend. Het is veel beter om alleen de module die de wijziging bevat opnieuw te compileren en deze vervolgens opnieuw te koppelen aan alle onveranderde modules om een nieuw uitvoerbaar bestand met de wijziging te maken. (Compileren duurt meestal langer dan koppelen.)
Ten tweede is het gemakkelijker te begrijpen - dus gemakkelijker om te schrijven, testen en debuggen - een programma dat bestaat uit een aantal goed doordachte maar quasi-onafhankelijke modules, die elk een logische groepering van functies. Een grote module met één bron vol met alle functies die een programma snel kan gebruiken, wordt moeilijk om recht te houden.
Ten derde is het veel geroemde spook van hergebruik. Een module vol met herbruikbare functies die kunnen worden gekoppeld aan toekomstige programma's is eenvoudiger te documenteren en te onderhouden. Een wijziging in de module om een bug te repareren, wordt snel opgenomen in andere uitvoerbare bestanden die die module gebruiken.
Ten slotte is er de kwestie van samenwerken als een team. Twee programmeurs kunnen niet op dezelfde module werken (althans niet zo goed). Een gemakkelijkere benadering is om één set functies in één module toe te wijzen aan één programmeur, terwijl een andere set functies in een andere module aan een tweede programmeur wordt toegewezen. De modules kunnen aan elkaar worden gekoppeld als ze klaar zijn om te testen.
