Связывание библиотек, скомпилированных с другой версией gcc

У меня есть программное обеспечение C ++ (потоковое ядро ​​Borealis), которое скомпилировано и работает с GCC 3.3.6 (я не смог заставить его работать с более новой версией GCC, и больше не поддерживаю программное обеспечение).

Мне нравится расширять это для вызова некоторых сложных криптографических библиотек (библиотеки на основе сопряжения), которая определенно скомпилирована с последней версией GCC.

Мой вопрос заключается в том, возможно ли это сделать, то есть вызвать библиотеку, скомпилированную с новой версией GCC, из кода, скомпилированного с гораздо более старой версией GCC? Это технически возможно? Каковы потенциальные проблемы?

Я надеюсь, что кто-то может помочь пролить свет на эти вопросы, чтобы я мог не тратить дни (или даже недели) на компиляцию и изучение того, как использовать эти программы, просто чтобы в конце выяснить, что они не могут работать вместе.

3

Решение

Это. Если бы не было, у нас были бы серьезные проблемы. Версия компилятора не связана с ABI платформы.

(Одна вещь, которая может на самом деле сломаться в случае компиляторов C ++, — это изменение в соглашении по искажению имен, но, например, в C даже такого риска не существует.)

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector