A volte ricevo librerie da diversi team di progettazione. Uno usa gcc 3.xe un altro usa gcc 4.x. Come posso identificare se queste due librerie sono compatibili? So che è qualcosa con libstdC++, ma potresti darmi una risposta chiara?Come identificare se due diverse versioni di gcc sono compatibili?
risposta
Questo è un buon punto di partenza
http://gcc.gnu.org/onlinedocs/gcc/Compatibility.html
Questo articolo discute la compatibilità binaria (si possono applicare a librerie troppo) tra diversi strumenti. Ciò vale ancora quando i diversi strumenti sono diverse versioni di gcc. Una cosa importante da verificare è la conformità all'interfaccia binario dell'applicazione (ABI).
E questo SO post dice che dal GCC 3.4.0 ABI è in avanti compatibili. OSSIA una libreria creata utilizzando una versione precedente può essere collegata a una più recente e dovrebbe funzionare.
Perché il downvote? –
questo comando può fare un piccolo aiuto:
stringhe - yourprogram | grep GCC
- 1. compilazione del codice sorgente su 2 diverse versioni di gcc
- 2. Le librerie C++ create con versioni diverse di Visual Studio sono compatibili tra loro?
- 3. Avere risultato diverso in diverse versioni di gcc
- 4. I pacchetti R compilati sono compatibili con le versioni precedenti?
- 5. I messaggi protobuf sono compatibili con le versioni di protobuf
- 6. Ultime versioni compatibili di Nutch e Solr
- 7. Collegamento di file oggetto creati utilizzando diverse versioni di GCC
- 8. GCC: -static e -pie non sono compatibili con x86?
- 9. Perché boost include due diverse versioni di strong_typedef.hpp?
- 10. Utilizzo di due diverse versioni dello stesso pacchetto di nuget
- 11. È possibile eseguire contemporaneamente due diverse versioni di tmux?
- 12. Mono e MEF Sono compatibili.
- 13. Utilizzo di due versioni diverse della stessa dipendenza del nodo
- 14. Perché queste due funzioni sono diverse?
- 15. Usa icone diverse con versioni di Android SDK diverse
- 16. Migrazioni di EF compatibili con le versioni precedenti
- 17. Maven + SLF4J: conflitto di versione quando si utilizzano due diverse dipendenze che richiedono due diverse versioni di SLF4J
- 18. Quali versioni di Android e iOS sono compatibili con runtime captive Adobe AIR 3.0?
- 19. Caricamento su cheeseshop diverse versioni di un pacchetto per diverse versioni di Python
- 20. Come determinare se due nodi sono connessi?
- 21. Avere dipendenze diverse nelle versioni di valutazione?
- 22. Utilizzo di bug Python in diverse versioni
- 23. Python 2 e 3 sono compatibili con le versioni precedenti del bytecode (pyo & pyc)?
- 24. L'IPad o l'IPhone sono compatibili con OpenCL?
- 25. Java Classloader - come fare riferimento a diverse versioni di un jar
- 26. I layout di Cocoa Auto sono compatibili all'indietro?
- 27. Come utilizzare 2 diverse versioni di GCC su Linux Ubuntu e costringere MAKE a usare uno di loro
- 28. Bundler non riusciva a trovare le versioni compatibili per gemma
- 29. Confronto di due ObservableCollection per vedere se sono diversi
- 30. Bootstrap 3 e Boostrap 4 - versioni alfa attualmente compatibili con le versioni precedenti?
Aggiunta tag C per una maggiore visibilità ed è rilevante anche in programmazione C –
http://stackoverflow.com/questions/2387040/how-to-retrieve-the-gcc-version-used-to- compile-a-given-elf-executable –