clang ++ e g ++ sono ABI incompatibili, anche per cose come core come contenitori standard, secondo, ad esempio, il sito Web clang ++.Se clang ++ e g ++ sono ABI incompatibili, cosa viene usato per le librerie condivise in binario?
Debian viene fornito con librerie condivise C++, ad es. Libboost, ecc. Compilate con ~ qualcosa e i programmi utente che utilizzano entrambi i compilatori funzionano generalmente ei nomi delle librerie non vengono alterati con il compilatore utilizzato per essi. Quando installi clang, debian non va a prendere versioni duplicate di ogni libreria C++ installata sul tuo sistema.
Qual è l'affare? La capacità di clang di collegarsi alle librerie C++ fornite dalla distro è più forte di quanto gli sviluppatori di compilatori (per fortuna cauti) descrivono?
Ho pensato che in realtà, il clang dovrebbe essere compatibile con ABI con gcc, altrimenti hai ragione che questo sarebbe un enorme incubo. non sono sicuro però Pensavo che il clang avesse sostanzialmente bisogno di adottare questa politica per decollare. –
Abbastanza correlati: https://stackoverflow.com/questions/11682748/is-clang-abi-same-as-g?rq=1 – edmz
Non vorrei dire che sono un duplicato, esattamente.Questa domanda si riferisce a versioni molto specifiche. – Puppy