!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 153
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR02デフォルトの名無しさん (ワッチョイ 7f14-t8Ak)
2020/01/14(火) 19:44:25.29ID:Xjyusg2Z0 完
3デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 20:20:26.03ID:Ae/uveiQ0 前スレのこれに質問です。
32bitアプリだとmallocで確保していくと2GB近くでエラーになりませんか?
頑張って色々施しても4GB近くが32bitだと限界じゃないんですかね?
もし回避策があるなら教えてください。
999デフォルトの名無しさん (ワッチョイ 7f36-///2)2020/01/14(火) 19:45:37.22ID:MAaOflfD0
>>978
ちょっと待てや
おまえ単一仮想記憶を前提に話してるか?
今や多重仮想記憶が当たり前で単一仮想記憶はかなり特殊な存在だぞ
32bitアプリだとmallocで確保していくと2GB近くでエラーになりませんか?
頑張って色々施しても4GB近くが32bitだと限界じゃないんですかね?
もし回避策があるなら教えてください。
999デフォルトの名無しさん (ワッチョイ 7f36-///2)2020/01/14(火) 19:45:37.22ID:MAaOflfD0
>>978
ちょっと待てや
おまえ単一仮想記憶を前提に話してるか?
今や多重仮想記憶が当たり前で単一仮想記憶はかなり特殊な存在だぞ
4デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 20:30:37.98ID:MAaOflfD0 前スレ999本人だが
議論できるやついる?
議論できるやついる?
5デフォルトの名無しさん (ブーイモ MM9f-0qp1)
2020/01/14(火) 20:44:32.62ID:XPzaribqM paeのことかしら。それでもアプリが使えるメモリは4gb以下に制限されるみたいだけど
6デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 20:57:35.59ID:MAaOflfD0 paeじゃない
オーバープロセスのことだよ
オーバープロセスのことだよ
7デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 20:59:32.15ID:vjAz2zAO0 https://mevius.5ch.net/test/read.cgi/tech/1566050562/982
>FARポインタを扱えるようにするか
馬鹿いってんじゃないよ!このニワカ!死ね!百遍死ね!
「far/near ポインタ」は 16bit リアルモードでの用語だ
>FARポインタを扱えるようにするか
馬鹿いってんじゃないよ!このニワカ!死ね!百遍死ね!
「far/near ポインタ」は 16bit リアルモードでの用語だ
9デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 21:13:14.20ID:Ae/uveiQ0 しかし別プロセスにしようとどうしようと
結局データのアドレスは受けないといけないので
そのポインタ自体が32bitで管理されてる以上
その限界はどうしようもないような。
結局データのアドレスは受けないといけないので
そのポインタ自体が32bitで管理されてる以上
その限界はどうしようもないような。
10デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:21:42.62ID:vjAz2zAO011デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:22:29.52ID:vjAz2zAO0 ニワカはどっちだwww
12デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 21:31:07.55ID:S6Ak+Pxt0 32ビットだと大きいメモリは最初の方で確保して最後の方で解放するなぁ
あるいはプロセスを分けるか
あるいはプロセスを分けるか
>>10-11
ではお聞きいたしますが、セグメントレジスタ16ビット+レジスタ32ビットのペアで指定した先は何ビット空間ですか?
IA-32 アーキであるかぎり、どうあがいても32bit 空間ではないでしょうか?PAE 搭載であってもユーザーからみえるのはやっぱり32ビットなのでは?
ではお聞きいたしますが、セグメントレジスタ16ビット+レジスタ32ビットのペアで指定した先は何ビット空間ですか?
IA-32 アーキであるかぎり、どうあがいても32bit 空間ではないでしょうか?PAE 搭載であってもユーザーからみえるのはやっぱり32ビットなのでは?
14デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:34:48.26ID:vjAz2zAO0 >>13
知らないなら黙ってろよ
知らないなら黙ってろよ
15デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/14(火) 21:40:51.41ID:RxBpnTJ90 多重仮想記憶ってプロセス毎に同じアドレス空間を提供するだけの話
(逆に単一仮想記憶はプロセッサのアドレス空間を分割してプロセスに提供する)
http://yougo.ascii.jp/caltar/多重仮想記憶
前スレの質問はアプリの話だからあんまり関係ないよ
オーバープロセスとか言うオレオレ用語はよくわからんけど…
オーバーコミットの話じゃないよね?
(逆に単一仮想記憶はプロセッサのアドレス空間を分割してプロセスに提供する)
http://yougo.ascii.jp/caltar/多重仮想記憶
前スレの質問はアプリの話だからあんまり関係ないよ
オーバープロセスとか言うオレオレ用語はよくわからんけど…
オーバーコミットの話じゃないよね?
17デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 21:56:01.45ID:S6Ak+Pxt0 windows依存なら CreateFileMapping MapViewOfFile で32ビットより大きいのをやりくり
18デフォルトの名無しさん (ワッチョイ df2d-G18V)
2020/01/14(火) 21:57:06.89ID:jSZPoIDP0 今、話題になっているのは32bitOSの場合であって、IA-32 どうこうは微妙に違う話にも思えるのは内緒。
ということで話を戻すと、例えば32bit版Windowsには、OS管理外メモリとして8Gだの16Gだの扱うことができるRAM-DISKアプリがあるわけで。
32bitアプリでも、セグメントレジスタに正しいセレクタ値をセットできるのであれば、4G超のメモリ空間を扱える、と言えなくもない予感がする。
ということで話を戻すと、例えば32bit版Windowsには、OS管理外メモリとして8Gだの16Gだの扱うことができるRAM-DISKアプリがあるわけで。
32bitアプリでも、セグメントレジスタに正しいセレクタ値をセットできるのであれば、4G超のメモリ空間を扱える、と言えなくもない予感がする。
19デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:02:55.12ID:vjAz2zAO0 386の時代から仮想アドレス空間は64TBだってのに
20デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 22:04:06.75ID:S6Ak+Pxt0 >>18
RAM-DISK使わんでもAPIには上位32ビット下位32ビットの64ビット指定できるから
RAM-DISK使わんでもAPIには上位32ビット下位32ビットの64ビット指定できるから
21デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 22:05:55.54ID:Ae/uveiQ0 話の前提は、64bitOSで32bitプログラムを動作させる場合ですね。
22デフォルトの名無しさん (ワッチョイ 5f63-hsX7)
2020/01/14(火) 22:09:55.66ID:iQtyfXTR0 できるならやり方を具体的に提示してくれよ
罵り合ってる内容が一切質問者に有益な情報じゃない
罵り合ってる内容が一切質問者に有益な情報じゃない
23デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:15:15.91ID:vjAz2zAO0 64bitOSなら32bitアプリで4GiBまで扱える(ように出来る)
これでいくらかは改善するのでは?
これでいくらかは改善するのでは?
24デフォルトの名無しさん (ワッチョイ df2d-G18V)
2020/01/14(火) 22:16:39.36ID:jSZPoIDP025デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 22:16:46.27ID:Ae/uveiQ026デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:18:31.70ID:vjAz2zAO0 それでもダメなら
DLLを扱う用の32bitプロセスと
多量のメモリを扱う64bitプロセスに分けて
プロセス間通信でデータをやり取りする
DLLを扱う用の32bitプロセスと
多量のメモリを扱う64bitプロセスに分けて
プロセス間通信でデータをやり取りする
>>19
80386 に関していえば、その記述「386の時代から仮想アドレス空間は64TB」はわりとデマ的に流布されていることは理解します。手元の本
https://www.あまぞん.co.jp/dp/4756101305/
にも載っていました、確かに紛らわしい記述だとは思います
セグメントレジスタが指す「セレクタ値」は8バイトごとである、という事実から、セレクタ値のアドレスを意味する部分を16-2=14ビットとして、これと一般レジスタ32ビットとの直積から
46ビット=64T 分のアドレス空間が取れる、という計算だとは思いますが、この記述は不正確であり実情からは程遠いと思います
80386 では、セグメントレジスタが指すセレクタ値にひも付けられているセグメントベースはやはり32ビット空間の中なんです。32ビット空間の外に出ることはありません。
80386 に関していえば、その記述「386の時代から仮想アドレス空間は64TB」はわりとデマ的に流布されていることは理解します。手元の本
https://www.あまぞん.co.jp/dp/4756101305/
にも載っていました、確かに紛らわしい記述だとは思います
セグメントレジスタが指す「セレクタ値」は8バイトごとである、という事実から、セレクタ値のアドレスを意味する部分を16-2=14ビットとして、これと一般レジスタ32ビットとの直積から
46ビット=64T 分のアドレス空間が取れる、という計算だとは思いますが、この記述は不正確であり実情からは程遠いと思います
80386 では、セグメントレジスタが指すセレクタ値にひも付けられているセグメントベースはやはり32ビット空間の中なんです。32ビット空間の外に出ることはありません。
28デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:34:42.75ID:vjAz2zAO0 Pentium Pro の時代から64GiB扱えるわけですが
Windows Server系は32bitでも64GiB使える(ものもある)わけですが
問題はフラグメントなのでアドレス空間が広がれば解決するわけですが
Windows Server系は32bitでも64GiB使える(ものもある)わけですが
問題はフラグメントなのでアドレス空間が広がれば解決するわけですが
29デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:36:48.89ID:vjAz2zAO0 コテのくせにド素人だな
>>29
セグメントレジスタが指すグローバルディスクリプタテーブル(GDT)中の一つ一つのエントリー(セレクタ値)に含まれる情報の配置状況が 80386 から変わっておれば、あなたのおっしゃることは理解できます
pentium を例にそれを示せますか?
セグメントレジスタが指すグローバルディスクリプタテーブル(GDT)中の一つ一つのエントリー(セレクタ値)に含まれる情報の配置状況が 80386 から変わっておれば、あなたのおっしゃることは理解できます
pentium を例にそれを示せますか?
31デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 23:11:55.67ID:vjAz2zAO032デフォルトの名無しさん (ワッチョイ e101-muX5)
2020/01/15(水) 00:13:17.27ID:SlSlX/cQ0 仮想86EMSが使われていた頃
33デフォルトの名無しさん (ワッチョイ ae0d-sHAu)
2020/01/15(水) 03:41:15.35ID:7yCfF8ki0 >>6
ググっても出てこないので、正確な技術用語を教えてください
ググっても出てこないので、正確な技術用語を教えてください
34デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/15(水) 07:36:38.25ID:6QOzbNpL0 ファイルマッピング
でいいか?
でいいか?
35デフォルトの名無しさん (ワイーワ2 FF4a-otum)
2020/01/15(水) 13:40:12.09ID:eUr1BYr3F リソースの再利用について
https://www.youtube.com/watch?v=XQdAlM4TnQU
https://www.youtube.com/watch?v=XQdAlM4TnQU
36デフォルトの名無しさん (ワッチョイ 02a6-pREH)
2020/01/15(水) 13:56:26.73ID:+l1Z2xEr0 大きいメモリをできるだけ上位のアドレスで割り当てる
普通のメモリ割り当てなら下位のアドレスになるから
使い分けで断片化の影響を減らせる
VirtualAllocの MEM_TOP_DOWN
普通のメモリ割り当てなら下位のアドレスになるから
使い分けで断片化の影響を減らせる
VirtualAllocの MEM_TOP_DOWN
37デフォルトの名無しさん (ワッチョイ 8261-frEi)
2020/01/15(水) 14:03:29.42ID:60b3MtID0 XPで付属のIMEだかuxtheme.dllあたりが中途半端なbaseaddress指定してあって1ブロックとしては700MBくらいまでしか確保できなかった思い出
38デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/16(木) 23:59:28.03ID:n2KajW3z0 2つスレッドがあってサブの方を使わない時は
こんな感じで待機してるんだけどやっぱマヌケかな?w
その都度作った方がやっぱいいの?
while(flag){ Sleep(1000); }
こんな感じで待機してるんだけどやっぱマヌケかな?w
その都度作った方がやっぱいいの?
while(flag){ Sleep(1000); }
39デフォルトの名無しさん (ワッチョイ 02ad-nP71)
2020/01/17(金) 00:38:20.87ID:VVaP2eJK0 間抜けというか、完全に寝かせてしまえばいいのでは?
40デフォルトの名無しさん (ワッチョイ 4263-A78j)
2020/01/17(金) 00:42:06.99ID:Ed4nA3uH041デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:14:24.13ID:rOjn9SwA042デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 01:18:32.17ID:e4Iv2ZR10 >>39-41
環境はWindowsです。
スレッドは二つだけでサブも結構使ってるので
flagで管理して動かしたい時だけTRUEにしてる感じです。
特に動作に問題はないのでこのままでいいんでしょうかね。
環境はWindowsです。
スレッドは二つだけでサブも結構使ってるので
flagで管理して動かしたい時だけTRUEにしてる感じです。
特に動作に問題はないのでこのままでいいんでしょうかね。
43デフォルトの名無しさん (ブーイモ MMe5-4X0p)
2020/01/17(金) 01:31:08.41ID:uTUiG7kHM リソースの競合がないんなら好きにすればいいけど、
あるなら、動いているように見えて低い確率で破綻するってのもあるよ
あるなら、動いているように見えて低い確率で破綻するってのもあるよ
44デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:37:20.83ID:rOjn9SwA045デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 02:10:16.80ID:e4Iv2ZR1046デフォルトの名無しさん (ワッチョイ b957-otum)
2020/01/17(金) 02:43:46.95ID:gAZZjojh0 呼んでから起きるまでのタイムロスはどうでもいいのか
47デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 03:19:40.62ID:e4Iv2ZR10 >>46
そこはOKです。瞬時に処理してくれなくても問題ない処理なので。
そこはOKです。瞬時に処理してくれなくても問題ない処理なので。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 「だからデビューできないんだよ」やす子、ジュニアへの“不適切発言”が炎上《何がわかる》ファンの逆鱗 [Anonymous★]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨 [931948549]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 【高市悲報】日本が🇨🇳輸出規制したフォトレジスト、早速韓国企業が中国に売り込みかけて日本の対抗手段もうなくなるwww [709039863]
- 【動画】台湾、真っ昼間からこんなことをしても許される激エッチ承認国家だった… [306119931]
- オールドメディア「地震で鳥居が倒れてるぞー!」
- 【悲報】中国メディア「高市が撤回して済む話ではなくなった。わざと戦闘機をレーダー照射距離に来させる戦争扇動者だ」 [359965264]
