🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fj.lang.visualbasic
7 messages
7 total messages Started by tomita takashi Sun, 28 Dec 1997 00:00
Over 64KB Mem Alloc
#886
Author: tomita takashi
Date: Sun, 28 Dec 1997 00:00
12 lines
924 bytes
こんにちは とみたです
まえにも f.o.m.pで聞いたのですが、反応ありませんでした

VB5で、64kB以上のメモリを確保するには、どうしたらよいのでしょうか
とりあえず、10kBぐらいのバッファの配列にして切り抜けましたが、
あまりよいアイデアではないような気がします

GlobalAlloc系では帰ってくるのがハンドルなので
それを使うことは無理な気もしますし...

とみた tomita@po.cnet-sa.or.jp
Re: Over 64KB Mem Alloc
#887
Author: norish
Date: Sun, 28 Dec 1997 00:00
16 lines
1213 bytes
tomita takashi wrote:
> 
> まえにも f.o.m.pで聞いたのですが、反応ありませんでした
f.o.m.p とは何でしょうか?

> VB5で、64kB以上のメモリを確保するには、どうしたらよいのでしょうか
VB5は32ビットOS専用だったと思いますが。。。。。
SDKの GlobalAlloc の解説には64KBに制限されるのは GMEM_MOVEABLE
のときだと書いてあります。
16ビット時代の先入観があるのではないでしょうか。

> GlobalAlloc系では帰ってくるのがハンドルなので
> それを使うことは無理な気もしますし...
ハンドルはロックしてから使用し、使用後にアンロックします。
ただし、オプションによっては直接メモリアドレスとしても使用できます。
Re: Over 64KB Mem Alloc
#888
Author: Takeshi Shigihara
Date: Mon, 29 Dec 1997 00:00
21 lines
1557 bytes
norish wrote:
> 
> > VB5で、64kB以上のメモリを確保するには、どうしたらよいのでしょうか
> VB5は32ビットOS専用だったと思いますが。。。。。
> SDKの GlobalAlloc の解説には64KBに制限されるのは GMEM_MOVEABLE
> のときだと書いてあります。

VBを知らぬ者が、横からのチャチャ入れで申し訳ないのですが。

Win32 の GlobalAlloc ならば、アクセスできるメモリ範囲は、GMEM_MOVABLEで
あっても64KBの壁に左右されることは無いはずです。これはCだろうがVB
だろうが同じだと思います。

65536の壁にさらされるのは、システム全体での GlobalAlloc ハンドルの
個数です。この壁は GMEM_MOVABLE で取得したハンドルの個数だけに関わり、
GMEM_FIXED で取得したハンドルの個数は、この制限には掛かりません。

----- Takeshi Shigihara
      OFFICE  cygnus@masternet.or.jp
      HOME    cygnus@po.jah.ne.jp --------
Re: Over 64KB Mem Alloc
#890
Author: norish
Date: Tue, 30 Dec 1997 00:00
17 lines
1337 bytes
Takeshi Shigihara wrote:
> 
> Win32 の GlobalAlloc ならば、アクセスできるメモリ範囲は、GMEM_MOVABLEで
> あっても64KBの壁に左右されることは無いはずです。これはCだろうがVa
> だろうが同じだと思います。
> 
> 65536の壁にさらされるのは、システム全体での GlobalAlloc ハンドルの
> 個数です。この壁は GMEM_MOVABLE で取得したハンドルの個数だけに関わり、
> GMEM_FIXED で取得したハンドルの個数は、この制限には掛かりません。
> 
SDKを読み返してみると確かにハンドルの個数が64K個に制限されている
と書いてありました。
早合点しました。申し訳ないです。m(_ _)m

# ただ、制限されるのはシステム全体というよりは、各プロセスごとのように
# 読み取れます。
Re: Over 64KB Mem Alloc
#891
Author: Shigihara
Date: Tue, 30 Dec 1997 00:00
14 lines
1041 bytes
Takeshi Shigihara wrote:
> 
> 65536の壁にさらされるのは、システム全体での GlobalAlloc ハンドルの
> 個数です。この壁は GMEM_MOVABLE で取得したハンドルの個数だけに関わり、
> GMEM_FIXED で取得したハンドルの個数は、この制限には掛かりません。

あっ、イカン!

失礼、システム全体での個数ではなく、プロセスあたり65536個でした。

-----Takeshi Shigihara
     OFFICE  cygnus@masternet.or.jp
     HOME    cygnus@po.jah.ne.jp   -----
Re: Over 64KB Mem Alloc
#892
Author: Shigihara
Date: Tue, 30 Dec 1997 00:00
14 lines
1041 bytes
Takeshi Shigihara wrote:
> 
> 65536の壁にさらされるのは、システム全体での GlobalAlloc ハンドルの
> 個数です。この壁は GMEM_MOVABLE で取得したハンドルの個数だけに関わり、
> GMEM_FIXED で取得したハンドルの個数は、この制限には掛かりません。

あっ、イカン!

失礼、システム全体での個数ではなく、プロセスあたり65536個でした。

-----Takeshi Shigihara
     OFFICE  cygnus@masternet.or.jp
     HOME    cygnus@po.jah.ne.jp   -----
Re: Over 64KB Mem Alloc
#893
Author: Shigihara
Date: Tue, 30 Dec 1997 00:00
14 lines
1041 bytes
Takeshi Shigihara wrote:
> 
> 65536の壁にさらされるのは、システム全体での GlobalAlloc ハンドルの
> 個数です。この壁は GMEM_MOVABLE で取得したハンドルの個数だけに関わり、
> GMEM_FIXED で取得したハンドルの個数は、この制限には掛かりません。

あっ、イカン!

失礼、システム全体での個数ではなく、プロセスあたり65536個でした。

-----Takeshi Shigihara
     OFFICE  cygnus@masternet.or.jp
     HOME    cygnus@po.jah.ne.jp   -----
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads