最終更新:2012-08-21 (火) 02:13:45 (4260d)  

.pyd
Top / .pyd

.pyd ファイルは DLL と同じですか?

  • はい、.pyd ファイルは DLL と同じようなものですが、少し違いがあります。 foo.pyd という名前の DLL があったとしたら、それには関数 initfoo() が含まれていなければなりません。そうすれば Python で “import foo” を書けて、 Python は foo.pyd (や foo.py、foo.pyc) を探して、あれば、initfoo() を呼び出して初期化しようとします。WindowsDLL の存在を必要とするのと違い、 .exe? ファイルを foo.lib にリンクするわけではありません。
  • なお、foo.pyd を検索するパスは PYTHONPATH であり、Windows が foo.dll を検索するパスと同じではありません。また、プログラムを dll にリンクしたときはプログラムの実行に dll が必要ですが、foo.pyd は実行には必要はありません。もちろん、import foo したいなら foo.pyd は 必要です。DLL では、リンクはソースコード内で __declspec(dllexport) によって宣言されます。.pyd では、リンクは使える関数のリストで定義されます。
  • http://www.python.jp/doc/release/faq/windows.html#pyd-dll