HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0310
youtpeek12解決


yout

リンク

2011/3/10(Thu) 13:46:15|NO.37525

peekのp2を2147483647以上にしたい場合はlongintを使っていいのでしょうか。



この記事に返信する


Pikasuke

リンク

2011/3/10(Thu) 17:10:06|NO.37526

文が不適切
貴方はHSPを学ぶより、先にネチケットを復習するのがいいとおもいます。
ほかの人が不快になる前に



p、USAGI

リンク

2011/3/10(Thu) 18:05:43|NO.37527

質問の答えは私には分かりませんが、
実際に試してみて下さい、としか・・・

>文が不適切
私には不適切だとは思いません。

>貴方はHSPを学ぶより、先にネチケットを復習するのがいいとおもいます。
>ほかの人が不快になる前に
Pikasukeさんのこの文の方が"閲覧者が不快に思う"と思います。



test

リンク

2011/3/10(Thu) 18:10:24|NO.37528

peekのp2をそのような値にするということは、1GB以上もの変数を確保しているということになりますが、そのようなことにならないようにプログラムの設計を見直したほうが良いのではないでしょうか。



ひよこ

リンク

2011/3/10(Thu) 18:31:18|NO.37529

約2GBですか。ちょっとすごすぎません?
設計を見直したほうがよいと思います。

方法としましては、あまりスマートではないかもしれませんが、
dupptrで読み込みたいアドレス-$7FFFFFFくらいまでを、
変数に参照させるというのはどうでしょう。



yout

リンク

2011/3/11(Fri) 02:33:44|NO.37531

前スレでメモリマップトファイルを扱いました。
その続きで、扱うファイルが2GBを超えた場合の話です。

で、dupptrはありがとうございます。参考にします。
ところで、peekのほうはどうでしょうか。
教えてください。



ひよこ

リンク

2011/3/11(Fri) 17:09:00|NO.37537

>peekのp2を2147483647以上にしたい場合はlongintを使っていいのでしょうか。
そう聞く前に実際に動かしてみたらどうですか?


longintは無理じゃないですか?
型っていっても、コンパイラや実行するときの認識方法が変わるだけで
何が変わるわけじゃないですし。(詳しくはわかりませんけど。)

peekはint用にできてるのだろうからうまくいかないと思います。
ほかにlongintを受けるような関数を使うか、
上のようにdupptrをしてからpeekをするかだと思います。



yout

リンク

2011/3/11(Fri) 18:10:42|NO.37539

申し訳ありませんが、2GBを超えて、かつそのバイナリ的な中身を把握しているデータを
私は持っていません。



774

リンク

2011/3/11(Fri) 20:07:06|NO.37540

Pikasuke とやら、

「教えてください。」
の1行の有無で、一体何が変わるの?
何も変わらないだろ。
無くても不快にならないし
「文が不適切
貴方はHSPを学ぶより、先にネチケットを復習するのがいいとおもいます。」
と断言する、お前に対して不快感を感じるね

お前、実年齢も精神年齢も小学生ぐらいだろ
大人が集まるこの掲示板で発言する事で大人に仲間入りしたつもりに
なっているかも知れないけど、
発言する前に、その発言が適切かどうかお父さんか、お母さんに
チェックしてもらいなさい。

過去のお前の発言を見てると、クソみたいな発言ばかりだな。
なんでそんなにムキになって不必要な発言をするの?



ひよこ

リンク

2011/3/11(Fri) 21:04:47|NO.37541

dupptrしてからpeekでアクセスっていうのはだめですか?



匿名希望

リンク

2011/3/11(Fri) 23:57:05|NO.37542

2GBを超えるファイルでファイルマッピングを試したことが無いので、憶測になってしまうことをまずお詫びしておきます。

まず
1.)(w/l)peek,(w/l)pokeはHSPの標準命令(関数)である
2.)引数としてHSPの変数(数値)を取る
3.)HSPの(整数型)変数(数値)は-(2^31)〜2^31-1の範囲である
これは最前提です。

まず1.)により、(w/l)peek,(w/l)pokeの処理はインタプリタに内蔵された、固定の処理であると考えられ、
2.),3.)により、引数として[signed 32bit int]しか受け取らないと考えられます。

よって
> peekのp2を2147483647以上にしたい場合はlongintを使っていいのでしょうか。
に対する答えは、「よくありません。」となります。

> 前スレでメモリマップトファイルを扱いました。
> その続きで、扱うファイルが2GBを超えた場合の話です。
そもそもファイルマッピングオブジェクトのビューとして、2GB以上ものメモリ領域を確保するのは望ましくありません。
巨大なサイズのファイルを扱う場合は、MapViewOfFileの第3〜第5引数を工夫して、出来るだけ小さい領域にわけて作業するのが望ましいです。



匿名希望

リンク

2011/3/12(Sat) 00:02:00|NO.37543

おっと、参考アドレスを貼るのを忘れていました。

こちらのページが参考になると思われます。
http://tokyo.cool.ne.jp/chokuto/urawaza/api/MapViewOfFile.html

あとNO.37542の前半部分で、何の断りも無く
> 引数
と書いた部分は
> 第2引数
の間違いです。
お詫びして訂正します。



yout

リンク

2011/3/12(Sat) 09:34:52|NO.37544

確かにsqrtやabsでlongintは使えません。
そういったことから考えても確かにそれが正しいのでしょう。

メモリマッピングオブジェクトのビューが大きくなりすぎるのが
よくないというのもわかりました。

またdupptrというのもありですが、メモリマッピングオブジェクトのビューの
巨大化がよろしくないという話ですので、保留にさせていただきます。

皆さんありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.