VirtualAllocは書いたとおりですが、アプリの最低稼動環境を記述して
提供することにして VirtualLock は私も使いません。
ユーザが最低稼動環境を無視してアプリを使用して、データの取りこぼしなどが発生し
た場合。VirtualLockをしていなければシステムに大きな影響はでませんので、アプリの
最低稼動環境を守ってくださいといえばいい。
VirtualLockをしてしまった場合、システムはとても悲劇的な動作をする場合がありま
す。これは言い逃れができない。
以上、この件、私の投稿は終わりです。
言葉が悪いのは反省します。気分を害された方申し訳ない。
>言葉が悪いのは反省します。気分を害された方申し訳ない。
そんなことより、
>メモリが512MB のPC?
>300MB×2=600MB
>Virtualallocは物理メモリの予約と確保を行う関数です。
>
>確保できないじゃん。
これは「嘘でしょ?マジで?」と自分は思ったんだけど、正しいんでしょうか?
どなたか、本当のことを教えてください。
はい。ごめんなさいね。うそです。
確保できます。
これ書いてた時はオオバカです。
でも確保できても使い物にはならないです。
思うんですが、べしさんが言われていると言うのは、
どの部分を出来る限り早くしたいのでしょう?
流れ込んでくるデータは止められないからメモリを出来る限り早くあけてほしい
と言う話なのか、そもそも受け取った後の処理は何なんでしょう。
メモリを早く開けたいだけなら、一時退避にファイルを使ってもよいような
気もしますけれど。
というか、むしろ私はそっちのつもりでした。
いずれにしても処理したデータは何らかの形で出力しないといけないのでは
無いかと思うんですが、それについても触れられていません。
メモリ上を移動しても処理後に出力してそこを空けないと次のデータを
退避できませんから。
ならば、取り敢えず出力しておいて処理はそっちでやれば、
取り込み側は独立して動けると思ったんですけれどねぇ。
まあ、状況から良くと300MBのメモリを二つも取れないわけなので
いずれにせよスワップが発生してそこで足を引っ張られますね。
ところで思うんですが、質問者の方は何処へ行かれたのでしょうね。
あー、誤字が。
誤)
>まあ、状況から良くと300MBのメモリを二つも取れないわけなので
正)
まあ、状況からいくと300MBのメモリを二つも取れないわけなので
あと蛇足ですが、
VirtualAllocにしろ、GlobalAllocにしろ結局そのアプリケーションの
基本スタンスが問題になると思います。
はるさんが掲げた基本スタンスを取るならVirtualAllcでもよいでしょうし、
取れないような状況ならエラーで終了するとか、メモリの状態を見て足りないと
判断できれば、起動不可能でメッセージ出して終了と言うのもスタンスでしょう。
それに関しては、スタンスの問題なのでそこまで否定的に書かなくても良いと
思います。
実際には質問者からこの辺の基本スタンスも提示はされていませんしね。
もうちょっと突っ込んだ情報提供があれば、状況が特定できたと思いますね。
> ところで思うんですが、質問者の方は何処へ行かれたのでしょうね。
何処行ったも何も、議論の方がどっか行っちゃった気がしますが・・・
流石にこの状況で、このスレッドに責任持てとは言い難くありません?
それはそうかも。
難しい所ですが、肝心の質問内容に関しての説明も不十分なままなので
かなり消化不良を起こしてます。(T-T)
まあ、出来れば復帰願って調べてみます以降から話をしたいところですねぇ。
スレッド内に書き込まれている内容(言葉遣いとか枝葉はさて置き)に関しては
それなりに意味があったと思うのでこのまま閉じるのは忍びないです。
勝手に閉じるわけにも行きませんしねぇ。