タイトル | : 構造体のサイズ制限 |
記事No | : 11401 |
投稿日 | : 2008/02/12(Tue) 18:11 |
投稿者 | : ダリア |
いつもお世話になります。ダリアです。 ご質問よろしくお願いいたします。
ただ今、共有メモリをメモリマップトファイルでアクセスしようとしています。 構造体を設定しているのですが、各種設定用412バイト、ログデータ用に以下のように Log(100) As String * 50 で5000バイトを設定しています。 トータルで5452バイトになります。 (どこから40バイトが加算されているのかは不明ですが、プログラムを起動するとそうなっていました) これですと、プログラムは起動してくれます。 しかし、本当は Log(500) As String * 130 で設定したいのですが、”動的なローカル変数が多すぎます”とエラーがでます。 無理に実行すると、プログラムが落ちてしまいます。 (上記は、完全コンパイル後に実行しないと、という意味です) 64Kバイト以上の設定は出来ないようなことを聞いたような気もいたします。 (ソースがはっきりしないので、うろ覚えなのですが) 現象からは確かに64Kバイトあたりで落ちているように見えます。 ネットでの引き方が悪かったのか、この辺りがはっきりいたしません。
また、このような場合。よい回避方法はありますでしょうか? 動的変数を使って回避できるということをネットで拾ったのですが、その理由が良く分からないのです。 私が使いたい方法ですと、ログデータは最大で500*130で入りますので、上記の方法が有効なのでしょうか? 今は、数回に分けてログを拾ってくるしかないかと思っています。 他に良い方法がありましたら、教えていただけると嬉しいです。
|