Video: Split a sentence into words in C++ | GeeksforGeeks 2024
Il programmatore può interrompere un singolo programma in file sorgente separati generalmente noti come moduli . Questi moduli sono compilati in codice macchina dal compilatore C ++ separatamente e quindi combinati durante il processo di generazione per generare un singolo programma.
Questi moduli sono anche conosciuti dai geek del compilatore come unità di traduzione C ++. Il processo di combinazione di moduli compilati separatamente in un singolo programma è chiamato collegamento .
Rompere i programmi in pezzi più piccoli e più maneggevoli ha diversi vantaggi. In primo luogo, la rottura di un programma in moduli più piccoli riduce il tempo di compilazione. I programmi molto grandi possono richiedere un po 'di tempo.
Inoltre, la ricompilazione di tutto il codice sorgente nel progetto solo perché una o due linee cambiano è estremamente dispendiosa. È molto meglio ricompilare solo il modulo contenente la modifica e ricollegarlo a tutti i moduli non modificati per creare un nuovo eseguibile con la modifica. (La compilazione di solito richiede più tempo del collegamento.)
In secondo luogo, è più facile da comprendere, quindi più facile da scrivere, testare e eseguire il debug, un programma costituito da un numero di moduli ben ponderati ma quasi indipendenti, ognuno dei quali rappresenta un raggruppamento logico di funzioni. Un grande, unico modulo sorgente pieno di tutte le funzioni che un programma potrebbe utilizzare rapidamente diventa difficile da mantenere dritto.
Terzo è il tanto decantato spettro del riuso. Un modulo completo di funzioni riutilizzabili che possono essere collegate a programmi futuri è più semplice da documentare e gestire. Una modifica nel modulo per correggere alcuni bug è presto incorporata in altri eseguibili che usano quel modulo.
Infine, c'è il problema di lavorare insieme come una squadra. Due programmatori non possono lavorare sullo stesso modulo (almeno non molto bene). Un approccio più semplice consiste nell'assegnare un set di funzioni contenute in un modulo a un programmatore mentre si assegna un diverso set di funzioni in un modulo diverso a un secondo programmatore. I moduli possono essere collegati insieme quando sono pronti per il test.