Il moderno Windows 10 può eseguire binari compilati 20 anni fa per Windows 95 o NT4, tuttavia immagino che le librerie che il codice sta chiamando sarebbero state modificate in maniera massiccia da allora.
So che è possibile mantenere la compatibilità binaria mentre si sviluppa ulteriormente una libreria (in C ++ ad esempio da non aggiunge alcuna funzione membro virtuale, non modifica la dimensione di una classe / struttura riservando spazio per uso futuro, ecc. ), ma immagino che richieda molta pianificazione anticipata e possa causare aggiornamenti codice per essere disordinato. In alternativa è possibile conservare vecchie versioni di librerie, ma questo è inefficiente.
Che cosa ha fatto Microsoft per mantenere questa compatibilità binaria in Windows per così tanto tempo?