Provengo dal mondo Linux e conosco molti articoli sul mantenimento della compatibilità binario a ritroso (BC) di un'API di libreria dinamica scritta in linguaggio C++. Uno di questi è "Policies/Binary Compatibility Issues With C++" basato su Itanium C++ ABI, che viene utilizzato dal compilatore GCC. Ma non riesco a trovare nulla di simile per il compilatore Microsoft C++ (da MSVC).Compilatore GCC vs MS C++ per mantenere la compatibilità binaria delle API
Capisco che la maggior parte delle tecniche sono applicabili al MS compilatore C++ e vorrei scoprire specifiche del compilatore questioni relative alle differenze ABI (layout di v-table, pressare, etc.)
Così , le mie domande sono le seguenti:
- sai eventuali differenze tra MS C++ e compilatori GCC quando mantenendo aC?
- Dove posso trovare informazioni su MS C++ ABI o sulla manutenzione di BC of API in Windows?
Qualsiasi informazione correlata sarà molto apprezzata.
Grazie mille per il vostro aiuto!
Sembra tutto un buon consiglio indipendentemente dal compilatore che si sta utilizzando. In realtà il testo dice "Questo testo si applica alla maggior parte degli ABI C++ usati dai compilatori su cui KDE può essere costruito." e fa riferimento a una fonte per le informazioni ABI MSVC, quindi questo potrebbe già coprire l'MSI ABI. – Rup
Buona domanda - ma il mescolarsi di API e ABI non è chiaro. Sia il titolo che il testo potrebbero fare con una modifica; il titolo non fa commenti sull'ABI, quando penso che dovrebbe almeno fare riferimento alla compatibilità binaria. – sdg
@Rup - Sono anche annotati: 'è l'informazione più completa trovata finora su MSVC ABI e manomissione dei nomi' e' alcuni dei vincoli specificati qui potrebbero non essere applicabili a un determinato compilatore'. Voglio scoprire i problemi specifici del compilatore. – aponomarenko