Уведомления

Группа в Telegram: @pythonsu

#1 Май 17, 2020 18:08:24

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

как "ковырнуть в заду" у питоновских скомпиленых сишных либ

Сразу оговорюсь, в этом направлении знания полностью отсутствуют, поэтому прошу профи умеющих работать с компилеными сишными питонолибами разъяснить что и в какой последовательности учить.

Мотивация проста, относительно недавно стояла задача сделать на PySide2.QtWebEngine то что не предусмотрено ни разрабами PySide2, ни разрабами Qt. В резельтате с кучей костылей благодаря js-инжектам все-же реализовал задуманное. Сегодня интереса ради скачал исходники кутэхи и понял что будь доступ хотя-бы к половине того что запрогано в модуле QtWebEngine и можно было-бы вытворять абсолютно что угодно без ограничений. После увиденного я осознал что научиться получать из питоноскрипта доступ напрямую к сишной либе, в том числе к тем ее объектам которые не предоставлены в АПИ, будет хорошим подспорьем в написании софта, и что-то мне подсказывает что такая потребность возникнет еще не раз.

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

Ну и самое главное, кто уже обладает такими навыками расскажите пожалуйста:
1) какие навыки нужны для той или иной реализации задуманного?
2) в какой последовательности посоветуете учить?
3) сколько времени у вас заняло обучение этим навыкам?



Офлайн

#2 Май 21, 2020 00:24:56

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

как "ковырнуть в заду" у питоновских скомпиленых сишных либ

Если надо что-то схватить из dll/so то достаточно ctypes.

Но вам не всегда могут это “показать”. Тогда лучше собирать из исходников пропатченную версию. Или форк свой создать. А интерфейсы qt это помоему надо в сторону sip смотреть.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version