« 2008年10月 | メイン | 2008年12月 »
2008年11月18日
【講座】「教えて!おにたま!!」
私のPCは物理メモリを3GB積んでいて,その全体物理メモリを
調べるため
mes "全体物理メモリ:"+sysinfo(34)
を実行したのですが,
全体物理メモリ:2147483647
と,表示されました.
本来なら,HSPの整数は符号付32bitだから$80000000でオーバー
フローして,$C0000000 = -1073741824が表示されるはずなのに,
$7fffffffff = 2147483647でカウントストップしているよう
です.
2GB以上の物理メモリサイズを正しく取得するにはどのように
すれば良いのか教えてください.
もしかして,WinAPIの仕様なのでしょうか?
<こたえ>
結論から言うと、sysinfo(34)で得られる物理メモリのサイズは
WinAPIの仕様により2GBまでとなっています。(2GB以上のメモリが
搭載されている場合は、すべて2GBとなります)
これは、HSP3内部で使用しているGlobalMemoryStatusという
APIの制限によるものです。
ただし、WinAPIで用意されているGlobalMemoryStatusExという
関数により、2GBを超えるメモリ情報を取得することができます。
以下がサンプルスクリプトになります。
; 2GB以上のメモリを取得する(NTカーネル専用)
#uselib "KERNEL32.DLL"
#func GlobalMemoryStatusEx "GlobalMemoryStatusEx" var
dim buf,16
buf(0)=64
GlobalMemoryStatusEx buf
mes strf("メモリ容量(下位)=%x",buf(2))
mes strf("メモリ容量(上位)=%x",buf(3))
この方法により、2GBを超える環境での物理メモリ容量や、使用
している量などを正確に知ることができます。
なぜHSP3でこの方法を使用していないのかと言うと、
このAPIは、Windows95や98系のカーネルでは使用できないため
互換性を重視した形になったと考えてください。
メモリの搭載量は、今後どんどん増える傾向にあるので、
将来的には改善していくべきですね。
それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。
(おにたま)
投稿者 usuaji : 01:22
【よみもの】もーりおのつぶやき 第36回
みなさモ、こんにちモ。
舌足らずな牛、『もーりお』でフガフガ。
おじさんがやってきてぼくにぼやくモ
奥さんが実家に帰っちゃったんだって
もーりおはおじさん好きだけど
お説教は いやだモ
奥さんもお説教がイヤになったんじゃなかろうかフガフガ
o O(もーりおのつぶやき)
いつも えばりんぼ おじさんが
おくさんをおもって ないてるモ
おじさん かわいいとこも あるんモモ
そんなおじさん好きだモモ
もーりおは、つぶやくことが趣味モ。
感想を待ってるモ。
みんなもつぶやきたいことがあったら送ってほしいモ。
短歌や川柳なんかでもいいモ。
宛先は”うすあじ”までだモモ?。
(ゆめゆめゆうか)
投稿者 usuaji : 01:21
HSPTV!メルマガ 第67号
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第67号 N0.0067 2008/11/18 発行
編集長:うすあじ
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html
■はじめに
こんにちは、うすあじです。
コンテストも終わって一段落な感じながら、
これから審査やらなにやらで忙しい予感。
結果発表まではもうちょっとかかりますが、
楽しみに待っていてください。
さて、今回のHSPニュースは・・・
あれ、コンテスト終了だけですね。
それでは、静かにメルマガスタートです。
(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス
【よみもの】もーりおのつぶやき 第36回(ゆめゆめゆうか)
【講座】「教えて!おにたま!!」(おにたま)
【募集】メルマガ投稿募集中
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】もーりおのつぶやき 第36回
みなさモ、こんにちモ。
舌足らずな牛、『もーりお』でフガフガ。
おじさんがやってきてぼくにぼやくモ
奥さんが実家に帰っちゃったんだって
もーりおはおじさん好きだけど
お説教は いやだモ
奥さんもお説教がイヤになったんじゃなかろうかフガフガ
o O(もーりおのつぶやき)
いつも えばりんぼ おじさんが
おくさんをおもって ないてるモ
おじさん かわいいとこも あるんモモ
そんなおじさん好きだモモ
もーりおは、つぶやくことが趣味モ。
感想を待ってるモ。
みんなもつぶやきたいことがあったら送ってほしいモ。
短歌や川柳なんかでもいいモ。
宛先は”うすあじ”までだモモ?。
(ゆめゆめゆうか)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】「教えて!おにたま!!」
私のPCは物理メモリを3GB積んでいて,その全体物理メモリを
調べるため
mes "全体物理メモリ:"+sysinfo(34)
を実行したのですが,
全体物理メモリ:2147483647
と,表示されました.
本来なら,HSPの整数は符号付32bitだから$80000000でオーバー
フローして,$C0000000 = -1073741824が表示されるはずなのに,
$7fffffffff = 2147483647でカウントストップしているよう
です.
2GB以上の物理メモリサイズを正しく取得するにはどのように
すれば良いのか教えてください.
もしかして,WinAPIの仕様なのでしょうか?
<こたえ>
結論から言うと、sysinfo(34)で得られる物理メモリのサイズは
WinAPIの仕様により2GBまでとなっています。(2GB以上のメモリが
搭載されている場合は、すべて2GBとなります)
これは、HSP3内部で使用しているGlobalMemoryStatusという
APIの制限によるものです。
ただし、WinAPIで用意されているGlobalMemoryStatusExという
関数により、2GBを超えるメモリ情報を取得することができます。
以下がサンプルスクリプトになります。
; 2GB以上のメモリを取得する(NTカーネル専用)
#uselib "KERNEL32.DLL"
#func GlobalMemoryStatusEx "GlobalMemoryStatusEx" var
dim buf,16
buf(0)=64
GlobalMemoryStatusEx buf
mes strf("メモリ容量(下位)=%x",buf(2))
mes strf("メモリ容量(上位)=%x",buf(3))
この方法により、2GBを超える環境での物理メモリ容量や、使用
している量などを正確に知ることができます。
なぜHSP3でこの方法を使用していないのかと言うと、
このAPIは、Windows95や98系のカーネルでは使用できないため
互換性を重視した形になったと考えてください。
メモリの搭載量は、今後どんどん増える傾向にあるので、
将来的には改善していくべきですね。
それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。
(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【募集】メルマガ投稿募集中
”HSPTV!メルマガ”への投稿をお待ちします。
募集するコーナーは
(1)「教えて!おにたま!!」
HSPの素朴な疑問をHSPの作者おにたま氏に聞いてみよう!
というコーナー。疑問。知りたいテクニックなどを直接聞く
チャンス。
(2)「もーりおのつぶやき」
つぶやき、短歌や川柳を受け付けてます。
メルマガに関する要望や感想、日常のお便りもお待ちしています。
全ての投稿は”うすあじ”まで。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本
・はじめてのHSP3
・3Dゲーム・クックブック HSP+Easy3D入門
・HSP3.1プログラミング入門
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■編集後記
さて、今年もそろそろ年末の雰囲気がしてきました。
年賀状の準備は早めにしておくといいかもね。
それから、風邪には注意してください。
家に帰ったら手洗いうがいを忘れずに。
ではまた次回お会いしましょう。
(うすあじ)
■バックナンバーについて
バックナンバーの公開ページはこちら
http://www.hspcenter.com/hsptvm/
■解約方法
登録解除などはこちら
http://hsp.tv/play/service.html
■広告の掲載など
本メールマガジンの広告掲載のご相談は
”うすあじ”までお願いします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
ONION software Copyright 2008(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿者 usuaji : 01:16