Wie kann ich eine Python Shared Object-Datei (.so) ändern?

Wie kann ich eine Python Shared Object-Datei (.so) ändern?

Ich habe einen Python-Code (läuft auf einem Raspbian-Betriebssystem), der den Wert einer Joystick-Achse liest und den Wert dann an einen Arduino sendet.

Am Anfang des Codes habe ich Folgendes eingegeben:

import pygame

Ich kann dann in pygame definierte Funktionen verwenden, wie z. B. get_axis(). Das funktioniert alles einwandfrei.

Mein Problem besteht darin, dass die Funktion get_axis() den Wert in der Python-Shell und im LXTerminal ausgibt, was ich nicht möchte.

Alle Pygame-Dateien befinden sich im Ordner:

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

Und ich weiß, dass sich die gewünschte Funktion darin befindet:

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

Aber wie öffne und bearbeite ich diese Shared Object-Datei?

Antwort1

Normalerweise bearbeiten Sie eine gemeinsam genutzte Objektdatei nicht, sondern kompilieren sie nach der Bearbeitung aus den Quellen.

Du kannstLaden Sie die Quellen für Pygame herunter, die neuesten veröffentlichten Quellen sindhttp://pygame.org/ftp/pygame-1.9.1release.tar.gz.

Wenn Sie das herunterladen, finden Sie die eigentlichen Quellen für joystick.so unter src/joystick.c. Die Kompilierung/Installation erfolgt nicht über die üblichen ./configure, makeund make install-Routinen, da es sich um ein Python-Paket handelt. Zum Kompilieren/Installieren rufen Sie auf:

python setup.py install 

im Basisverzeichnis der extrahierten TAR-Datei.

Die Kompilierung hängt von mehreren Paketen ab. Leider gibt es keine klare Übersicht darüber, was installiert werden muss ( smpeg, videodev.h), sodass je nachdem, wie sauber Ihr Rechner von Anfang an ist, möglicherweise etwas Sucharbeit erforderlich ist, um das zu installieren.

verwandte Informationen