Python 共有オブジェクト (.so) ファイルを変更するにはどうすればよいですか?

Python 共有オブジェクト (.so) ファイルを変更するにはどうすればよいですか?

ジョイスティック軸の値を読み取り、その値を Arduino に送信する Python コード (Raspbian OS で実行) があります。

コードの先頭に次のように入力しました:

import pygame

その後、get_axis() などの pygame 内で定義された関数を使用できます。これはすべて正常に動作します。

私の問題は、get_axis() 関数が Python シェルと LXTerminal に値を出力することですが、これは私が望んでいることではありません。

すべての pygame ファイルは次のフォルダーにあります:

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

そして、私が望む関数は次の場所にあることがわかっています:

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

しかし、この共有オブジェクト ファイルを開いて編集するにはどうすればよいでしょうか?

答え1

通常、共有オブジェクト ファイルは編集せず、編集後にソースからコンパイルします。

あなたはできるpygameのソースをダウンロードする最新の公開ソースはhttp://pygame.org/ftp/pygame-1.9.1release.tar.gz

これをダウンロードすると、joystick.so の実際のソースは にありますsrc/joystick.c。これは Python パッケージなので、コンパイル/インストールは共通の./configuremakemake installルーチンでは行われません。コンパイル/インストールするには、以下を呼び出します。

python setup.py install 

抽出された tar ファイルのベース ディレクトリ内。

コンパイルはいくつかのパッケージに依存しますが、残念ながら何をインストールする必要があるのか​​明確な概要はありません ( smpegvideodev.h)。そのため、マシンがどの程度クリーンであるかに応じて、それをインストールするために多少の検索が必要になる場合があります。

関連情報