Como posso modificar um arquivo de objeto compartilhado python (.so)?

Como posso modificar um arquivo de objeto compartilhado python (.so)?

Eu tenho um código python (executando em um sistema operacional raspbian) que lê o valor de um eixo do joystick e depois envia o valor para um arduino.

No início do código eu digitei:

import pygame

Posso então usar funções definidas dentro do pygame, como get_axis(). Tudo isso funciona bem.

Meu problema é que a função get_axis() imprime o valor no shell python e no LXTerminal, o que não é o que eu quero.

Todos os arquivos pygame estão localizados na pasta:

/usr/lib/pyshared/python2.6/pygame

E eu sei que a função que desejo está localizada dentro:

/usr/lib/pyshared/python2.6/pygame/joystick.so

Mas como abro e edito esse arquivo de objeto compartilhado?

Responder1

Normalmente você não edita um arquivo de objeto compartilhado, você o compila a partir das fontes após editá-lo.

Você podebaixe as fontes do pygame, as últimas fontes divulgadas sãohttp://pygame.org/ftp/pygame-1.9.1release.tar.gz.

Se você fizer o download, as fontes reais do joystick.so estarão em src/joystick.c. A compilação/instalação não é feita através das rotinas common e ./configure, pois este é um pacote Python. Para compilar/instalar você chama:makemake install

python setup.py install 

no diretório base do arquivo tar extraído.

A compilação depende de vários pacotes, infelizmente não há uma visão clara do que precisa ser instalado ( smpeg, videodev.h), então pode ser necessária alguma pesquisa para instalar isso, dependendo de quão limpa sua máquina está para começar.

informação relacionada