Как я могу связать исполняемый код с динамической библиотекой?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу связать исполняемый код с динамической библиотекой?

Сообщение Anonymous »

У меня есть кроссплатформенная динамическая библиотека и исполняемый файл.
В исполняемом файле у меня есть структура с реализованной статической функцией внутри.
В динамической библиотеке у меня такое же определение структуры и статической функции внутри. Все определения являются внешними C.
  • Компиляция .so с помощью gcc работает нормально.
  • Компиляция DLL с помощью ms vstudio дает «неразрешенную внешнюю» для статической функции, даже с __declspec(dllimport).
Цель состоит в том, чтобы связать код внутри исполняемый файл в динамическую библиотеку, чтобы библиотека могла вызывать исполняемый код во время выполнения. Я понимаю, что с таким необычным связыванием есть некоторые подводные камни, но я не вижу другого способа сделать это.
Вопросы:
  • Почему компоновщик Windows не работает?
  • Почему gcc хорошо компонуется?
  • Каковы альтернативы такому связыванию? Может быть, я ожидаю или делаю что-то совершенно неправильно, и есть гораздо более элегантные способы вызова кода из исполняемого файла из динамически подключаемой библиотеки во время выполнения?


Подробнее здесь: https://stackoverflow.com/questions/796 ... ic-library

Вернуться в «C++»