плагины — Как загрузить файл .o во время выполнения в C ++?

Я пишу библиотеку плагинов на C ++ и мне нужно вызвать удаленную функцию, которая не определена (только объявлена) во время компиляции программы хоста.

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

Вот базовая реализация моего решения:

Я сделал эти 3 файла:

host.cpp:

#include "plug.h"
int main() {

cout<<"Hello World!"<<endl;

remoteFunction();
return 0;
}

plug.cpp:

#include "plug.h"
void remoteFunction() {
cout<<"in Remote"<<endl;
return;
}

plug.h:

void remoteFunction(void);

Потом я скомпилировал plug.cpp с помощью g++ -c plug.cpp чтобы генерировать plug.o,

Теперь я могу использовать g++ host.cpp -o executable plug.o чтобы получить один исполняемый файл, который работает нормально. Но так мне нужно полностью определить функцию удаленного доступа заранее. Как я могу получить host.cpp компилировать без компиляции plug.cpp первый.

Если есть несколько разных способов получить эту функциональность, предложения приветствуются.

1

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]