Nell'azienda in cui lavoro ho un software di gestione, scritto da un programmatore esterno. Chiamiamo il software PK. PK è stato inizialmente scritto negli anni '90 usando C ++. Da allora è stato regolarmente aggiornato e mantenuto, ma nel suo nucleo è sempre rimasto un software basato sulla tecnologia degli anni '90.
Siamo attualmente in fase di migrazione da Windows 7 a Windows 10 e ho ricevuto uno dei primi PC Win 10 per testare se tutto funziona come previsto sul nuovo sistema operativo. Tutto ha funzionato, ma PK. PK improvvisamente ha avuto frequenti incidenti. Ho detto allo sviluppatore del software che ci sono problemi con PK sotto Win 10 ma anche dopo numerosi aggiornamenti e modifiche al codice abbiamo ancora avuto questi arresti anomali. Lo sviluppatore non è riuscito a capire perché è andato in crash anche se sembra essere correlato alla gestione della memoria di PK.
L'ultima goccia che lo sviluppatore ha visto è stata la compilazione del software sul mio Win 10-PC. Ho compilato il codice sorgente con esattamente la stessa versione di Visual Studio 2008 e improvvisamente ha funzionato. Niente più arresti anomali.
Quindi la mia domanda è:
Può essere che lo stesso codice, compilato dallo stesso compilatore, produca un diverso binario dipendente dalla versione di Windows (Windows 7 e 10)?
E se sì: perché?