0 голосов
спросил от в категории CLinux
Вы получите ошибку сегментации, если i - NULL . Проверьте, была ли загрузка библиотеки и получение символа успешно:
CLASS_NAME * i = NULL; void * h = dlopen("./LIBNAME.so",RTLD_NOW); // Get error message string upon errors char *err = dlerror(); if (!h) {     // Report error here. } else {     i = (CLASS_NAME *)dlsym(h, "CLASS_NAME");     if ((err = dlerror()) != NULL)     {         // Report error here.     }     else if (i)     {         i->Create(1);     } }
См. Также
CLASS_NAME * i = NULL; void * h = dlopen("./LIBNAME.so",RTLD_NOW); // Get error message string upon errors char *err = dlerror(); if (!h) {     // Report error here. } else {     i = (CLASS_NAME *)dlsym(h, "CLASS_NAME");     if ((err = dlerror()) != NULL)     {         // Report error here.     }     else if (i)     {         i->Create(1);     } }
# [#^ #].

Есть ли какая-то конкретная причина, по которой вы используете динамическую загрузку? Если нет, просто привяжите приложение к библиотеке.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...