Se non erro gcc compila ogni volta tutti i singoli file.
Microsoft Visual C++ invece ha un sistema che ricompila soltanto i file che tu hai effettivamente modificato.