Возникли трудности в процессе написания динамической библиотеки, содержащей реализацию методов класса. Библиотека подключается к главному файлу в runtime через dlopen. Используя dlsym я получаю указатель, который указывает на метод класса. Однако dlsym возвращает void*, а его приведение к указателю на метод вызывает ошибку.
class Matrix{
void inputMatrix();
};
const char* INPUT_MATRIX_FUNC_NAME = "_ZN6Matrix11inputMatrixEv";
typedef void (Matrix::*inputMatrixPtrT)();
void* hdl = dlopen(LIBRARY_NAME, RTLD_LAZY);
inputMatrixPtrT inputMatrix =(inputMatrixPtrT)dlsym(hdl,INPUT_MATRIX_FUNC_NAME);
error: invalid cast from type ‘void*’ to type ‘inputMatrixPtrT {aka void (Matrix::*)()}’ inputMatrixPtrT inputMatrix = (inputMatrixPtrT)dlsym(hdl,INPUT_MATRIX_FUNC_NAME);
Как можно решить эту проблему?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеПытаюсь реализовать примитивный tower defence
Сколькими способами можно создать обьект класса на С++ в ООП?
Все делаю по технологии: создаю буфер вершин, задаю координаты вершин, координаты текстуры, нормалиБез освещения модель отрисовывается идеально
Задание следующее - В указанной директории найти обычные файлы, которые содержат одинаковые (по информации) строкиВывести: имя файла, права...