27

(または、「PyPy / RPythonを使用して、Pythonランタイムを必要とせずにPythonをコンパイル/C / C ++に変換できますか?」)

私はPyPyをそのRPythonとそのPython、その実行とそのコンパイルとその変換で理解しようとしましたが、やや失敗しました。

架空のPythonプロジェクト(Windows用)があります。py2exeの使用に伴う数メガバイト(UPX後)ではなく、100キロバイト(ONO)のオーダーでサイズを小さくしたいと思います。PyPy 1を使用して、Python26.dllに依存しないスタンドアロンの実行可能ファイルを作成できますか?可能であれば、for組み込み型でのみ機能するようにRPythonの制限に従う必要がありますか、それとも完全なPython構文ですか?

これができれば、PythonのCモジュールを直接使用することはほぼ確実にできないことを私は理解しています。


1 (質問の時から状況はより明確になり、ツールチェーンのこの部分はPyPyではなくRPythonとしてより明確にブランド化されています。2010年はそうではありませんでした。)

4

1 に答える 1

18

はい、PyPyはRPythonコードからスタンドアロンの実行可能ファイルを生成できます。つまり、コードの記述に関しては、すべての厄介なRPythonルールに従う必要があります。Pythonコードがそのまま機能する可能性はほとんどなく、既存のPythonコードを移植するのは通常楽しいことではありません。実行可能ファイルをCほど小さくすることはありませんが、たとえば、boehm GCを使用するrpystoneターゲット(pypy / translator /goalから)は、ストリッピング後64ビットで80kです。

于 2010-11-23T07:18:21.447 に答える