Mam kilka statycznych bibliotek, których nie jestem właścicielem, skompilowanych ze starą wersją g ++ (4.3.2, C++ 11/C++ 0x nie aktywowane).g ++ zawsze kompatybilny wstecz ze "starszymi" bibliotekami statycznymi?
Kiedy kompiluję mój kod za pomocą g ++ 4.6 (bez C++ 11) i łączę go (używając g ++ 4.6) z tymi bibliotekami statycznymi , to łączy się dobrze i nie wydaje mi się, że dostaję żadnych problemów w czasie wykonywania (nie testowałem wszystko jednak). , więc mam ochotę pomyśleć, że kompatybilność w przód jest w porządku.
Teraz chciałbym skompilować mój kod za pomocą gcc 4.8 z C++ 11 i nadal łączyć go z tymi samymi, nierekompilowanymi bibliotekami statycznymi. Czy nadal działa?
Innymi słowy, to zmiany ABI w g ++ tylko problem dla kompatybilności z linkiem do przodu czy też można uzyskać problemy ze zgodnością wsteczną?
Dzięki.
Doskonałe dzięki! (Chciałbym przegłosować, ale nie pozwolono mi jeszcze na to wyglądać) –
N.B. dwa ostatnie akapity, które właśnie dodałem, które powinienem był jasno określić na początku, ale był w pośpiechu, przepraszam –
Dziękuję za dokładność, Jonathan (o rację, ** ** Johathan z ACCU 2013! Wyjaśnia jakość odpowiedzi :) –