доза dladdr в состоянии получить информацию от статического члена?

при поиске какой-то библиотеки я нашел такой код

Dl_info info = {
NULL,
NULL,
NULL,
NULL
};

if (!dladdr((void*) dirSep, &info)) {
return libPath.c_str();
}

где dirSep является static const char* член в классе, где этот код присутствует (в функции член пришел), поэтому мой вопрос: есть ли документально, что dladdr функция в состоянии получить форму информации static const member поле?

0

Решение

Нет и dladdr не могу обещать или гарантировать это. Это можно посмотреть только на таблицу символов в модуле. Если таблица символов содержит символ, то он может дать его вам. Если нет, то нет. Какие символы находятся в таблице символов, зависит от того, как модуль скомпилирован, как он связан, и как и удаляется ли он.

Вообще говоря, если код может ссылаться на него, то dladdr должен найти это.

1

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

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

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