Общий сценарий
Используя dlsym(), я динамически загружаю надстройку общего объекта из моего основного потока.
Я следую любому из этих двух способов.
Путь А
Передайте аддону структуру указателей на символы, чтобы он мог вызывать функции хоста и получать доступ к другим переменным, конечно, зная их тип данных.
Путь Б
Пусть аддон вызывает символы по их идентификатору extern "C"
, а среда выполнения обычно ищет их.
Вопрос
Есть ли разница между этими двумя методами в отношении стабильности ABI? Например: будет ли один из этих методов гарантировать большую вероятность совместимости надстройки с основной программой, если они были скомпилированы в разных средах?