Programmeraren kan bryta ett enda program i separata källfiler, allmänt kända som -moduler . Dessa moduler sammanställs i maskinkod av C ++-kompilatorn separat och kombineras sedan under byggprocessen för att skapa ett enda program.
Dessa moduler är också kända av kompilatorgeeks som C ++-translationsenheter. Processen att kombinera separat sammanställda moduler i ett enda program heter länk .
Brytprogram i mindre, mer hanterbara bitar har flera fördelar. Först bryter ett program till mindre moduler kompileringstiden. Mycket stora program kan ta ett tag.
Dessutom kompilerar alla källkoden i projektet bara för att en eller två linjer ändras är extremt slösig. Det är mycket bättre att omkompilera bara modulen som innehåller ändringen och sedan relinkera den till alla oförändrade moduler för att skapa en ny körbar med ändringen. (Kompilering tar vanligtvis längre tid än länk.)
För det andra är det lättare att förstå - det är lättare att skriva, testa och felsöka - ett program som består av ett antal väl genomtänkta men kvasioberoende moduler, vilka var och en representerar en logisk gruppering av funktioner. En stor enskild källmodul full av alla funktioner som ett program kan använda snabbt blir svårt att hålla rakt.
Tredje är det mycket ansedda språket om återanvändning. En modul full av återanvändbara funktioner som kan kopplas till framtida program är lättare att dokumentera och underhålla. En ändring i modulen för att åtgärda en del buggar införlivas snabbt i andra körbara datorer som använder den modulen.
Slutligen är det fråga om att arbeta tillsammans som ett lag. Två programmerare kan inte arbeta på samma modul (åtminstone inte så bra). Ett enklare tillvägagångssätt är att tilldela en uppsättning funktioner som finns i en modul till en programmerare samtidigt som man tilldelar en annan uppsättning funktioner i en annan modul till en andra programmerare. Modulerna kan kopplas samman när de är klara för testning.