Вопросы по теме 'dlsym'

Использование общих библиотек с dlopen - общий объект не может найти символ, экспортированный программой загрузки
Итак, у меня есть следующий пример, который я пытаюсь запустить. header.h extern "C" { void registerfunc(); }; main.cpp #include "header.h" #include <dlfcn.h> #include <iostream> using namespace std; typedef void...
1169 просмотров
schedule 13.11.2021

dlsym время от времени выдает ошибку сегмента
Заранее благодарим за прочтение этого вопроса. Наша программа столкнулась со странной проблемой: "dlsym" время от времени выдает ошибку "сегментный сбой". Фон состоит в том, что наш движок загружает несколько общих библиотек в один процесс и...
271 просмотров
schedule 03.11.2021

Как получить доступ к (динамически выделенным) массивам Fortran в C
Мой главный вопрос заключается в том, почему массивы делают такие странные вещи и есть ли вообще способ сделать следующее «чистым» способом. В настоящее время у меня есть программа C foo.c , взаимодействующая с программой Fortran bar.f90 через...
3384 просмотров

C --› malloc --› dlsym
Я использовал dlsym() для вызова своей версии malloc вместо библиотеки malloc по умолчанию: lt_malloc = (void*(*)(size_t))dlsym(RTLD_NEXT, "malloc"); TRACE((stderr, "initialize: lt_malloc=%p\n", lt_malloc)); if (!lt_malloc) {...
1392 просмотров
schedule 02.04.2023

Объедините C и TCL, используя Swig
Я следил за учебным пособием по объединению C с TCL с использованием Swig. Учебник, казалось, работал правильно, но в конце я столкнулся с ошибкой, которую не могу решить. Ситуация следующая: Я следил за учебником:...
755 просмотров
schedule 11.10.2023

Очистка интерпозиции функций с помощью dlsym
В качестве оболочки malloc я использую этот классический фрагмент кода: #define _GNU_SOURCE #include <stdio.h> #include <stdint.h> #include <dlfcn.h> void* malloc(size_t size) { static void* (*real_malloc)(size_t) = NULL;...
443 просмотров

Переопределение «бесплатно» или «удалить» с помощью LD_PRELOAD и dlsym()
Переопределение 'malloc' с использованием механизма LD_PRELOAD Как можно использовать LD_PRELOAD для установки ptr в NULL или любой другой адрес памяти, чтобы избежать эксплойтов с висячими указателями. void free(void *ptr) {...
479 просмотров
schedule 04.07.2023

dlopen / dlsym: ошибка при получении указателя на функцию
Я пытаюсь получить указатель на функцию с помощью dlopen и dlsym, однако мне не удалось заставить его работать правильно. Ошибка при попытке выполнить вызов dlsym. Ниже мой код. Любая помощь, пожалуйста? #include <dlfcn.h> #include...
4440 просмотров
schedule 17.07.2023

Загрузка таких файлов с помощью dlsym не может загрузить библиотеку
Я реализую API, который загружает плагины из файлов .so. Для их загрузки я использую функцию dlsym(). Чтобы проверить, работает ли это, я внедрил тестовый плагин (ниже) и, чтобы упростить задачу, я загружаю только функцию «инициализировать». Чтобы...
1432 просмотров
schedule 10.12.2022

Ссылка на переменную по имени в C ++ с помощью таблицы символов
В основном то, о чем спрашивает название. Я немного не знаком с C++ и более продвинутыми концепциями, такими как таблицы символов, я изучал их в Интернете, но изо всех сил пытаюсь найти какое-либо направление к моей конечной цели. Большинство...
1097 просмотров
schedule 23.05.2023

Можно ли генерировать команды dlsym из файла .h?
УЖЕ РЕШЕНО! Посмотрите результат здесь . эм> Не уверен, правильно ли я спрашиваю, но кто-нибудь знает правильный способ создания команд dlopen и dlsym на основе файла .h? Я пытаюсь динамически загрузить SDL2 — библиотеку, написанную на C,...
207 просмотров
schedule 30.06.2023

Динамическая загрузка общей библиотеки с помощью dlopen
Я пытаюсь загрузить TestCode.so с помощью dlopen. getNumber() — это функция, которую я хочу использовать из TestCode.so. Но когда я загружаю .so. Я не могу использовать функцию. Это дает ошибку сегментации. Пример программы: TestHeader.hpp...
301 просмотров
schedule 19.05.2023

Неопределенный символ для dlsym в С++
У меня есть одна программа на С++, которую я хочу загрузить в свою текущую программу на С++. Ниже приведен фрагмент Файл: a.cpp #include<bits/stdc++.h> using namespace std; void abc() { cout << "This is abc"...
632 просмотров
schedule 31.01.2023

Использование dlsym() для заглушки malloc/free приводит к ошибке сегментации
Я начал баловаться модульным тестированием кода C (используя проверку) и заглушки функций. Я пытаюсь выполнить модульное тестирование небольшой библиотеки структур данных, которую я написал, и хотел проверить, как она будет реагировать на OOM....
156 просмотров
schedule 13.01.2023

Альтернативы dlsym() и dlopen() в C++
У меня есть приложение, часть которого использует общие библиотеки. Эти библиотеки компонуются во время компиляции. Во время выполнения загрузчик ожидает, что общий объект будет в LD_LIBRARY_PATH , если он не найден, все приложение вылетает с...
18446 просмотров

как вызвать atexit в общей библиотеке?
В разделяемой библиотеке функция func1() имеет atexit(terminate_global), и эта разделяемая библиотека не имеет « атрибута ((конструктор))» и « атрибут (( деструктор))». Итак, поток программы выглядит следующим образом: 1) Приложение загружает...
1839 просмотров
schedule 19.01.2024