0

Microsoft Excel、Gnumeric、OpenOffice.org Calc などのプログラムが、行数と列数の制限をハードコードして設計されているのはなぜですか? これは、スプレッドシートが要求の厳しいアプリケーションと見なされ、動的メモリ割り当てが「ハイエンド」と見なされていた時代の古いプログラミング手法のようです。「それ以上のものを必要とする人はいない」という前提で、一部のリソースが静的に割り当てられていることを示しているため、アプリケーションに非常に恣意的な制限が導入されていると思います。その背後にあるロジックは何ですか?

注: この質問はプログラミングに関係ないと主張する人がいることは知っています。ここに先制的な反論があります: この質問はプログラミングに関連しています。なぜなら、普及していて一見時代遅れに見えるプログラミング方法論が使用されている理由を尋ねているからです。

4

4 に答える 4

2

元の理由はパフォーマンスとスペースのためでした。(たとえば) 65536 行を処理するには 2 バイトしか必要としないためです。これらの歴史的な理由は Office 2007 ではなくなっているため (他の理由ではないにしても)、あなたの質問も時代遅れです。

于 2010-01-08T03:35:22.853 に答える
1

セル参照をインデックスのペアとして処理する方がはるかに簡単で、それらに制限があるためですか?

要するに、あなたが何をしても限界があります。問題は、それが何であるか、それを作るのにいくらかかり、何人の人がそれに遭遇するかということです.

于 2010-01-08T03:52:44.050 に答える
0

Excel97 の biff レコードでは、列は 0xff 番号として格納され、行は 0xFFFF 番号として格納されます。そのため、列を 255 に、行を 65535 に制限します。Excel2003 でさらに行/列を保存する場合 (IDE でサポートされている場合)、保存されません。

于 2010-01-11T08:41:57.200 に答える
0

次の Gnumeric バージョンでは、最大 8M 行および 8k 列までの、より大きなシートを使用できます。そのような大きなシートが本当に必要な場合は、TBytes の RAM を購入してください。

于 2010-01-08T07:48:56.493 に答える