Как просмотреть определение функций файла динамической библиотеки (.dylib)? - PullRequest
0 голосов
/ 31 мая 2018

Итак, у меня есть файл динамической библиотеки с именем "libxlearn_api.dylib".Я могу загрузить эту библиотеку из кода Python с помощью

lib = ctypes.cdll.LoadLibrary(/path/to/lib)

Я также вижу, какие функции определены в вышеуказанной библиотеке с помощью dir (lib).Но это просто дает список имен функций в нем.

Мне нужно просмотреть описание / определение этих функций (как они написаны / реализованы, то есть фактический код.)

Как я могу это сделать?

1 Ответ

0 голосов
/ 31 мая 2018

Мне нужно просмотреть описание / определение этих функций (как они написаны / реализованы, т.е. фактический код.)

В общем, вы не можете, потому что динамическая библиотекаможет быть проприетарным (это относится ко многим библиотекам с графическим интерфейсом в MacOSX, читайте о Aqua ).

Если библиотека свободное программное обеспечение или если каким-то (легальным) образом вы получили его исходный код (возможно, после подписания некоторого NDA и оплаты некоторых денег), вы можете изучить его исходный код.Тогда вам лучше собрать эту библиотеку из исходного кода (чтобы убедиться, что двоичная библиотека и исходный код совпадают), в противном случае вам нужно доверять поставщику двоичной библиотеки, что он точно соответствует исходному коду, который вы получили.

Кстати, xlearn - свободное программное обеспечение.Возможно, это то же самое, что ваша двоичная динамическая библиотека (но вам нужно проверить).Я рекомендую иметь возможность собрать его из исходного кода (в терминале, используя команды).См. руководство по установке , раздел: установка из исходного кода.

...