Symbian のスタック制限は 8kB です。これは PyS60 アプリでの関数呼び出しにも適用されますか?
4 に答える
はい、PyS60 は CPython に基づいているため、C スタックを使用します。
Python ランタイムと Python アプリには違いがあります。また、PyS60 アプリ開発者の観点から、より興味深いのはヒープサイズです...
バージョン 1.9.5 のデフォルトのヒープサイズは最小 100k、最大 4M です。もちろん、SIS パッケージを作成してアプリケーションをリリースおよび配布するときに、それらを自分で定義することもできます。
間違った答えで正しい質問に答えた場合は申し訳ありません(スタックとヒープ)。
スタックは通常「十分」ですが、十分に深い再帰を使用すると、スタックを使い果たす可能性があります。それを行いました-そしていくつかの無限ループを修正しました:)実際のスタックの問題は一度もありませんでした。通常、不足するのはヒープであり、特にグラフィックス操作の場合です。
Symbian スタック サイズを増やすには、mmp ファイルのパラメーターを使用します。これは、ツールチェーンが exe ファイルに変換するネイティブ アプリケーションを作成する場合に有効です。
携帯電話の Python ランタイムを自分でビルドしたバージョンにアップグレードする場合、ランタイム プロセス自体のスタック サイズを増やすことができます。
プログラムはおそらく PyS60 のリソースによって制約されるため、PyS60 がメモリ管理を行う必要があると思います。