Abbiamo un programma C che utilizza un file di intestazione .h per descrivere la struttura dati personalizzata che usiamo. La struttura dei dati deve seguire il progetto nelle specifiche funzionali. C'è un diagramma per descrivere il membro delle strutture dati e sarebbe descritta una sintassi astratta ANS.1, e quindi il file asn verrebbe compilato in un file di intestazione .h.
Al fine di migliorare il nostro sistema, è stata approvata una richiesta di modifica delle specifiche funzionali e una nuova specifica. (Saltiamo da 2,10 a 2,12 come abbiamo saltato l'aggiornamento di 2,11) Confrontando 2,10-2,12, un sacco di cose nuove sono state aggiunte e alcune cose vecchie sono state rimosse. Abbiamo bisogno di utilizzare un nuovo .asn per compilare un nuovo file di intestazione .h al fine di seguire le specifiche.
Il problema è che qualcosa è stato rimosso. Ad esempio alcuni membri di una struttura dati sono stati rimossi e abbiamo utilizzato il membro per la logica nel programma. Il programma non può nemmeno essere compilato con il nuovo file di intestazione. Il programma è stato installato e funzionante e vorremmo evitare qualsiasi grave down time a causa di questo aggiornamento.
P.S. La specifica non è solo per la nostra azienda, è uno standard per la struttura dei file di invio dei file tra i componenti all'interno dell'intero settore. Supponiamo che, se si dichiara di utilizzare la specifica 2.12, e l'altra parte tratterà il file con lo standard 2.12 e scarterà tutti i file che non seguono lo standard.
P.S. Ovviamente non c'è opzione. La decisione è presa. Tuttavia, sto affrontando un problema che il programma c è stato scritto da altre persone e ha una logica complessa. Il programma sarebbe enormemente danneggiato dalla modifica del file di intestazione. E forse non ne ho idea per ripristinare la pace e la funzionalità. Qualsiasi suggerimento su come verificare ogni differenza è apprezzato.