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

1

Eu tenho um código python (rodando 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 que eu digitei:

import pygame

Eu posso então usar funções definidas dentro do pygame, como get_axis (). Isso tudo 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 eu quero está localizada dentro de:

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

Mas como abro e edito esse arquivo de objeto compartilhado?

    
por Blue7 17.11.2014 / 14:31

1 resposta

1

Você normalmente não edita um arquivo de objeto compartilhado, você o compila das fontes depois de editá-lo.

Você pode baixar as fontes do pygame , as fontes mais recentes são link .

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

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 geral clara do que precisa ser instalado ( smpeg , videodev.h ), então pode ser necessária alguma pesquisa para instalar, dependendo da limpeza sua máquina é para começar.

    
por 17.11.2014 / 14:57