次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
https://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 12c3-4saf)
2018/08/27(月) 16:02:00.94ID:vY3QDx2y0354デフォルトの名無しさん (ワッチョイ b3bd-5rD0)
2018/09/08(土) 02:36:49.43ID:6MRSNGru0 >>353
>これはCPUキャッシュがメインメモリに吐き出されることを保証するものですか?
ちげう
実行したコアのライトコマンドキューかリードコマンドキュー上の命令をその場で全部実行してしまうというもの
キャッシュのinvalidateやfillが起きるかどうかとは別の話(結果的に起きることもあるが常にではない
キャッシュと関係あるみたいな説明のページがあることは承知しているが苦情は漏れに言わないでホスイ
>これらの命令は Pentiumu2 あたりにはなかったと思います、でも Pen2 とか特に Celeron-BP6(abit) で普通にデュアルプロセッサできていたのはどうしてでしょうか?
古代の話は知らん
OoO(アウトオブオーダー実行)はすでにあったはずなので、ライトコマンドキューやリードコマンドキューもすでにあった
全くの推測だが、キャッシュのinvalidate操作が(invalidateを常に伴うため効率の悪い)メモリバリアと同じ効果があったとかではないかいや知らんけど
>これはCPUキャッシュがメインメモリに吐き出されることを保証するものですか?
ちげう
実行したコアのライトコマンドキューかリードコマンドキュー上の命令をその場で全部実行してしまうというもの
キャッシュのinvalidateやfillが起きるかどうかとは別の話(結果的に起きることもあるが常にではない
キャッシュと関係あるみたいな説明のページがあることは承知しているが苦情は漏れに言わないでホスイ
>これらの命令は Pentiumu2 あたりにはなかったと思います、でも Pen2 とか特に Celeron-BP6(abit) で普通にデュアルプロセッサできていたのはどうしてでしょうか?
古代の話は知らん
OoO(アウトオブオーダー実行)はすでにあったはずなので、ライトコマンドキューやリードコマンドキューもすでにあった
全くの推測だが、キャッシュのinvalidate操作が(invalidateを常に伴うため効率の悪い)メモリバリアと同じ効果があったとかではないかいや知らんけど
355デフォルトの名無しさん (ワッチョイ b3bd-5rD0)
2018/09/08(土) 02:52:26.13ID:6MRSNGru0 ちなIA(Intel Architecture)のうちでも常識的なコア数のやつは
コア間のキャッシュコヒーレンシをハードウェアで勝手に取ってくれるので、
コア間のメモリ参照の不整合はメモリバリアだけ注意したら逝ける(キャッシュの存在は透過的
コア間のキャッシュコヒーレンシをハードウェアで勝手に取ってくれるので、
コア間のメモリ参照の不整合はメモリバリアだけ注意したら逝ける(キャッシュの存在は透過的
356はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 966f-7GfT)
2018/09/08(土) 02:58:07.14ID:VmsJpbI+0357デフォルトの名無しさん (ワッチョイ f723-Wta3)
2018/09/08(土) 03:04:22.19ID:RizVmglH0 >>354
>実行したコアのライトコマンドキューかリードコマンドキュー上の命令をその場で全部実行してしまうというもの
>キャッシュのinvalidateやfillが起きるかどうかとは別の話(結果的に起きることもあるが常にではない
なるほど…ちょっとだけ理解が進んだかもしれません
「はるか遠くにあるメインメモリに変更が反映されるかどうか」はプログラムの書き手にはあまり関係がなく、
「各コアから見る限りにおいて、各コアが発したライトあるいはリードの結果すべてが反映され、各コアからはみえている」と考えればいいのですね
これらのメモリの可視性について http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2013/2013-10-15/ 等を熟考しています
mutex や cond にその方面での効用があるとは…、pthread のメモリ可視性に関する効果はあまり意識していませんでした
重要なヒントをくださりありがとうございます
>実行したコアのライトコマンドキューかリードコマンドキュー上の命令をその場で全部実行してしまうというもの
>キャッシュのinvalidateやfillが起きるかどうかとは別の話(結果的に起きることもあるが常にではない
なるほど…ちょっとだけ理解が進んだかもしれません
「はるか遠くにあるメインメモリに変更が反映されるかどうか」はプログラムの書き手にはあまり関係がなく、
「各コアから見る限りにおいて、各コアが発したライトあるいはリードの結果すべてが反映され、各コアからはみえている」と考えればいいのですね
これらのメモリの可視性について http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2013/2013-10-15/ 等を熟考しています
mutex や cond にその方面での効用があるとは…、pthread のメモリ可視性に関する効果はあまり意識していませんでした
重要なヒントをくださりありがとうございます
>>352
>書き換えレース
ええと、これを読んで reset-set flip-flop の禁止入力「R=S=1」のことを思い出してしまったんですが、それはさておき
複数のコアが同一メモリに対して「同時に書き込み」する、というのは、このフリップフロップ禁止入力と同じ意味あいですか?
つまり「どっちの書き込みが後になるか、予想がつかないから禁止」…@
それとも、「複数のコアが本当に同時に書き込んでしまった場合、結果が不定になる」…A
(昔のフロッピーディスク供給のソフトウェアプロテクトの方法としての「コロコロビット」=読み出すたびに 0/1 が変わる)という意味なのか
いや、@もAも同じような意味なのかもしれませんが、
>>215 の「CAS 連続スピンロックや CAS 連続スピンロック中に別コアから書き込んだり読み込んだりすること」
がAの意味で危険で、ソフトウェア側で mutex や dirty-bit (>>238) を設けて本当に意図的にコントロールしなければならないのか、と、ちょっと心配になりました
最初から安全側にふっておくとは思いますが
>書き換えレース
ええと、これを読んで reset-set flip-flop の禁止入力「R=S=1」のことを思い出してしまったんですが、それはさておき
複数のコアが同一メモリに対して「同時に書き込み」する、というのは、このフリップフロップ禁止入力と同じ意味あいですか?
つまり「どっちの書き込みが後になるか、予想がつかないから禁止」…@
それとも、「複数のコアが本当に同時に書き込んでしまった場合、結果が不定になる」…A
(昔のフロッピーディスク供給のソフトウェアプロテクトの方法としての「コロコロビット」=読み出すたびに 0/1 が変わる)という意味なのか
いや、@もAも同じような意味なのかもしれませんが、
>>215 の「CAS 連続スピンロックや CAS 連続スピンロック中に別コアから書き込んだり読み込んだりすること」
がAの意味で危険で、ソフトウェア側で mutex や dirty-bit (>>238) を設けて本当に意図的にコントロールしなければならないのか、と、ちょっと心配になりました
最初から安全側にふっておくとは思いますが
361デフォルトの名無しさん (ワッチョイ f723-Wta3)
2018/09/08(土) 08:05:39.39ID:RizVmglH0 考える前に学んだ方がいい
cas が使い物にならないならなぜそんな物があると思う?
というか mutex の実装にも cas は使用される。
使い方がわからないからcasは使わず mutex を使うという判断は正しいが、
例えば前の例のエラトステネスの篩で実装1ビットセットする毎に
mutex で排他していたらコアがかなり沢山あってもシングルスレッドの方が速い
(mutex api を処理する時間が大半を占めてしまう)
cas が使い物にならないならなぜそんな物があると思う?
というか mutex の実装にも cas は使用される。
使い方がわからないからcasは使わず mutex を使うという判断は正しいが、
例えば前の例のエラトステネスの篩で実装1ビットセットする毎に
mutex で排他していたらコアがかなり沢山あってもシングルスレッドの方が速い
(mutex api を処理する時間が大半を占めてしまう)
362デフォルトの名無しさん (ワッチョイ f723-Wta3)
2018/09/08(土) 08:13:01.68ID:RizVmglH0 質問する前にスレッドセーフとか排他制御とかレースコンディションとか
弱いメモリモデルとかでググって時間くらいしっかり読んで
弱いメモリモデルとかでググって時間くらいしっかり読んで
363デフォルトの名無しさん (ワッチョイ f723-Wta3)
2018/09/08(土) 08:13:34.47ID:RizVmglH0 >時間くらい
「1時間くらい」のタイプミスでした。
「1時間くらい」のタイプミスでした。
364デフォルトの名無しさん (ワッチョイ 7ab3-M35H)
2018/09/08(土) 11:49:10.23ID:+e2Zk2SC0365デフォルトの名無しさん (ドコグロ MM32-vzSQ)
2018/09/08(土) 13:52:50.37ID:UCzuGyPmM >>360
> つまり「どっちの書き込みが後になるか、予想がつかないから禁止」…@
順序は予測できないと言うのは正しい
> それとも、「複数のコアが本当に同時に書き込んでしまった場合、結果が不定になる」…A
通常のプロセッサならこれはない
排他制御がなされていてどちらかの結果が最終的に反映される
ただ CAS (Compare And Swap) 命令はそう言う話じゃなくて読出動作 (Compare) と書込動作 (Swap) がアトミック(つまりその間には他のアクセスは無いように制御されてる)ってこと
ソフトでどうのこうのできる話じゃないからシステムから提供されてるAPIを素直に使いなさい
>>364
中途半端な知識で語るなよ
> つまり「どっちの書き込みが後になるか、予想がつかないから禁止」…@
順序は予測できないと言うのは正しい
> それとも、「複数のコアが本当に同時に書き込んでしまった場合、結果が不定になる」…A
通常のプロセッサならこれはない
排他制御がなされていてどちらかの結果が最終的に反映される
ただ CAS (Compare And Swap) 命令はそう言う話じゃなくて読出動作 (Compare) と書込動作 (Swap) がアトミック(つまりその間には他のアクセスは無いように制御されてる)ってこと
ソフトでどうのこうのできる話じゃないからシステムから提供されてるAPIを素直に使いなさい
>>364
中途半端な知識で語るなよ
366デフォルトの名無しさん (ワッチョイ 9a22-7GfT)
2018/09/08(土) 16:38:24.58ID:+lRq1NsW0367デフォルトの名無しさん (ワッチョイ b3bd-5rD0)
2018/09/08(土) 20:07:53.81ID:6MRSNGru0 このスレは荒れる…!
マルチスレッド、マルチコア、アウトオブオーダー実行(OoO)にまつわる3つの問題は分けて考えられねばならない;
(A) 書き換えレースの問題(>>352)
(B) アドレスxに対する読み書きのatomic性(>>364)
(C) メモリバリア(>>354)
(A)はマルチスレッドすればシングルCPUでも起きる問題
(B)はこれは何ビット幅までの読み書きを他コアが割り込み不可能なバスサイクルで行えるかという話。マルチコア固有
(C)はマルチコア状況化でのアウトオブオーダー(OoO)実行の影響をソフトで制御して無問題にするテクの話で、マルチコア×OoO固有の話
>>364は(B)のことを言っており、だいたい合っているんじゃ
(IAの場合、4バイト境界に整列した32ビットまでは(B)の意味でatomicに読み書きできる
整列していないデータの読み書きは16 bitであっても(B)の意味でatomicではない
インテルのマニュアルに書いてある
自尊心だけは高い低学歴知恵遅れなのでいちいちソースは示さないが
マルチスレッド、マルチコア、アウトオブオーダー実行(OoO)にまつわる3つの問題は分けて考えられねばならない;
(A) 書き換えレースの問題(>>352)
(B) アドレスxに対する読み書きのatomic性(>>364)
(C) メモリバリア(>>354)
(A)はマルチスレッドすればシングルCPUでも起きる問題
(B)はこれは何ビット幅までの読み書きを他コアが割り込み不可能なバスサイクルで行えるかという話。マルチコア固有
(C)はマルチコア状況化でのアウトオブオーダー(OoO)実行の影響をソフトで制御して無問題にするテクの話で、マルチコア×OoO固有の話
>>364は(B)のことを言っており、だいたい合っているんじゃ
(IAの場合、4バイト境界に整列した32ビットまでは(B)の意味でatomicに読み書きできる
整列していないデータの読み書きは16 bitであっても(B)の意味でatomicではない
インテルのマニュアルに書いてある
自尊心だけは高い低学歴知恵遅れなのでいちいちソースは示さないが
368デフォルトの名無しさん (ワッチョイ b3bd-5rD0)
2018/09/08(土) 20:29:14.34ID:6MRSNGru0 とはいえ、読み書きをミューテックスなりロックなりでガードする、…(D)
これだけを遵守すれば>>367の問題は全部忘れて良い(>>351の後段にも書いた)
メモリモデルとかまともに勉強する必要は無い
さらに言うと、まともなコンパイラなら(中でどんな副作用やメモリバリアを行うかわからない)システムコールを跨いだ
変数のレジスタ割り当てとかしないから、(D)を守れば実際のところ(ほとんどのケースで)volatileも要らん
メモリモデルを勉強する必要があるのは、(D)の速度に不満が生じて改善する必要に迫られたとき、
例えばdouble-checked lockingテクがちゃんと動くのかとか不安になったりロックレスハッシュを作らねばならなくなったときだけ!
これだけを遵守すれば>>367の問題は全部忘れて良い(>>351の後段にも書いた)
メモリモデルとかまともに勉強する必要は無い
さらに言うと、まともなコンパイラなら(中でどんな副作用やメモリバリアを行うかわからない)システムコールを跨いだ
変数のレジスタ割り当てとかしないから、(D)を守れば実際のところ(ほとんどのケースで)volatileも要らん
メモリモデルを勉強する必要があるのは、(D)の速度に不満が生じて改善する必要に迫られたとき、
例えばdouble-checked lockingテクがちゃんと動くのかとか不安になったりロックレスハッシュを作らねばならなくなったときだけ!
369デフォルトの名無しさん (ブーイモ MMaf-qEbW)
2018/09/08(土) 22:09:03.01ID:Mc6Ny40VM >>367
マルチプロセッサとかNUMAの事は考慮しなくても良いのけ?
マルチプロセッサとかNUMAの事は考慮しなくても良いのけ?
370デフォルトの名無しさん (ワッチョイ bab3-vzSQ)
2018/09/08(土) 23:30:32.50ID:ZUEeKRTR0 バスサイクルと言ったりミューテックスって言ったり話のレベルがぐちゃぐちゃすぎる…
371デフォルトの名無しさん (ワッチョイ 3a12-f65Y)
2018/09/09(日) 01:33:18.67ID:XJaXrhZ00 なんせC++は生ポが使える低水準言語ですし・・・
372デフォルトの名無しさん (ワッチョイ 9a22-7GfT)
2018/09/09(日) 03:24:55.55ID:Q3MV1FJL0 要するにあらゆる左辺値をatomicにして更にミューテックスでガードしとけば(これはキチガイ)
ハード系の知識を学ぶ必要はない(ハードソフトという名の蛸壺)という無茶苦茶な主張だな
勉強嫌いにもほどがあるだろ、何が低学歴だ
ハード系の知識を学ぶ必要はない(ハードソフトという名の蛸壺)という無茶苦茶な主張だな
勉強嫌いにもほどがあるだろ、何が低学歴だ
373デフォルトの名無しさん (ブーイモ MMaf-qEbW)
2018/09/09(日) 08:36:42.55ID:BqWnELncM 周辺チップからのメモリ書換をミューテックスでガード出来るのか
374デフォルトの名無しさん (ワッチョイ 161b-QWFi)
2018/09/09(日) 08:59:15.50ID:9h0HyZsY0 実際プログラミングする上でハードの知識はいらんだろ
375デフォルトの名無しさん (ブーイモ MMaf-qEbW)
2018/09/09(日) 09:25:43.25ID:BqWnELncM ハードの知識無しでデバドラ書けるのけ?
376デフォルトの名無しさん (ワッチョイ 9a22-7GfT)
2018/09/09(日) 10:19:49.00ID:Q3MV1FJL0377デフォルトの名無しさん (ワッチョイ 161b-QWFi)
2018/09/09(日) 10:31:54.13ID:9h0HyZsY0378デフォルトの名無しさん (ワッチョイ 27e3-fTNn)
2018/09/09(日) 10:37:46.17ID:kQslwDxe0 作文したら推敲しろ、って小学校で習うはずなんだけどな
379デフォルトの名無しさん (ワッチョイ 161b-QWFi)
2018/09/09(日) 10:39:04.08ID:9h0HyZsY0380デフォルトの名無しさん (ワッチョイ 9a22-7GfT)
2018/09/09(日) 11:01:35.79ID:Q3MV1FJL0381デフォルトの名無しさん (ワッチョイ 5393-WN3X)
2018/09/09(日) 11:25:28.91ID:lGJ+2GvF0 ハードウェア部分を隠すためのOSによるアクセスの抽象化とか、
標準ライブラリがあるわけだし、ハードウェアの知識が絶対に必要でもないでしょ。
デバイスドライバを書くプログラマが優れているとか、その反対に
高レベルな(抽象度の高い)ソフトを作る人ほど偉いってものでもない。
標準ライブラリがあるわけだし、ハードウェアの知識が絶対に必要でもないでしょ。
デバイスドライバを書くプログラマが優れているとか、その反対に
高レベルな(抽象度の高い)ソフトを作る人ほど偉いってものでもない。
382デフォルトの名無しさん (ラクッペ MM3b-QWFi)
2018/09/09(日) 11:26:29.90ID:l6rR/pccM383デフォルトの名無しさん (ワッチョイ c78a-qEbW)
2018/09/09(日) 14:43:15.61ID:TxROatu90 何これ?
384デフォルトの名無しさん (ワッチョイ bab3-vzSQ)
2018/09/09(日) 15:02:39.54ID://bKOaXP0 いつものマウントごっこだろ
385デフォルトの名無しさん (アウアウカー Sa33-XU3l)
2018/09/09(日) 16:27:56.67ID:TAQT5wBea for i in {0..15}; do
mount /dev/dm-$i /mnt
done
mount /dev/dm-$i /mnt
done
386デフォルトの名無しさん (ワッチョイ 8b80-f65Y)
2018/09/09(日) 17:06:11.77ID:V1LakR3i0 捕食される側の人類最底辺同士で争ってる
387デフォルトの名無しさん (ワッチョイ aeeb-fTNn)
2018/09/09(日) 17:19:50.37ID:xES8AK750 低レベルプログラミングって言う面白そうな本が出てたなあ
388デフォルトの名無しさん (ワッチョイ 5304-eMuy)
2018/09/09(日) 18:06:25.87ID:acpzPeVw0 そういえば、さいきんの低レベルいじる時ってどうするんやろね。
BIOSなくなってきてるし、作法かわってきてるのかなぁ・・・。
BIOSなくなってきてるし、作法かわってきてるのかなぁ・・・。
389デフォルトの名無しさん (ワッチョイ 17c3-oywQ)
2018/09/09(日) 18:53:37.14ID:+aTtRZce0 古き良きシリアルポートが普通のPCではほぼ絶滅してるからなあ
USBきらい
USBきらい
390デフォルトの名無しさん (ワッチョイ 5304-eMuy)
2018/09/09(日) 19:01:40.42ID:acpzPeVw0 USB制御のノウハウってあんまり周知されてない感じがする。
391デフォルトの名無しさん (ワッチョイ 9a22-7GfT)
2018/09/09(日) 19:09:08.66ID:Q3MV1FJL0 アイソクロナス?
392デフォルトの名無しさん (オイコラミネオ MMe6-xaKy)
2018/09/09(日) 19:38:22.19ID:eYgKQZDEM >>382
高級ってのを誤解しているアホがここにもいたわw
高級ってのを誤解しているアホがここにもいたわw
393デフォルトの名無しさん (ワッチョイ c78a-qEbW)
2018/09/09(日) 21:21:28.72ID:TxROatu90 >>390
LINE EYEで見てるとエラー出まくったりしてるね
LINE EYEで見てるとエラー出まくったりしてるね
394デフォルトの名無しさん (スッップ Sdda-g95O)
2018/09/10(月) 22:46:19.98ID:IGaBABI/d dllからexeをCreateProcessで起動するとメモリリークするとかある?
debugging tool forなんたらみたいなやつでメモリリークチェックしてるのだけど
exeから呼んだやつはリークなし
dllから呼んだやつはリークありとなっている
監視開始ポイントと終了ポイント及び呼び出しソースコードに差分がなく
その他にも差分がないんだ
debugging tool forなんたらみたいなやつでメモリリークチェックしてるのだけど
exeから呼んだやつはリークなし
dllから呼んだやつはリークありとなっている
監視開始ポイントと終了ポイント及び呼び出しソースコードに差分がなく
その他にも差分がないんだ
395デフォルトの名無しさん (ワッチョイ 8b80-f65Y)
2018/09/10(月) 23:03:06.10ID:XzQQxj6r0 dllから呼びだす場合
dllは呼びだした側のプロセスと同じアドレス空間にマッピングされ
dll側の関数を呼び出して生成されたヒープも
呼びだした側のプロセスと同じアドレス空間にマッピングされる
プロセスから呼び出した場合、
呼び出した側のプロセスと関係ない呼び出された側のプロセスのアドレス空間に
ヒープは生成されるから
呼び出した側のプロセスを監視してもそのリークについて検出されることはない
分かった?
dllは呼びだした側のプロセスと同じアドレス空間にマッピングされ
dll側の関数を呼び出して生成されたヒープも
呼びだした側のプロセスと同じアドレス空間にマッピングされる
プロセスから呼び出した場合、
呼び出した側のプロセスと関係ない呼び出された側のプロセスのアドレス空間に
ヒープは生成されるから
呼び出した側のプロセスを監視してもそのリークについて検出されることはない
分かった?
396デフォルトの名無しさん (ワッチョイ 1a4c-itPJ)
2018/09/11(火) 05:56:49.25ID:3QLqjO4o0 質問と回答が違う
397デフォルトの名無しさん (ブーイモ MM06-M35H)
2018/09/11(火) 09:46:04.97ID:THBnA1g1M そのツールでもうちょっと情報とれないんかいって思うが、
ランタイムライブラリの指定とか見直してみたら?
というかexe起動を繰り返したら繰り返すだけリークする?
最初の一度だけならあんまり気にしなくていいんじゃない?しらんけど
ランタイムライブラリの指定とか見直してみたら?
というかexe起動を繰り返したら繰り返すだけリークする?
最初の一度だけならあんまり気にしなくていいんじゃない?しらんけど
398デフォルトの名無しさん (ワッチョイ 8b80-f65Y)
2018/09/11(火) 22:07:19.41ID:i7axZbyN0 質問通りの
コレ以上ないエレガントなレスになってる
コレ以上ないエレガントなレスになってる
399デフォルトの名無しさん (ワッチョイ 5304-eMuy)
2018/09/11(火) 22:09:50.93ID:BTBlWiGG0 あかねちゃん。
400デフォルトの名無しさん (ワッチョイ 13b3-Lb9U)
2018/09/12(水) 00:18:15.71ID:B23czwA60 >>394
umdhじゃないかと思うが、スタックトレースは見てみたの?
プロセスの標準入出力に名前付きパイプが指定されてるとdllの明示的なアンロードのタイミングでApplication verifierでリーク検出されたことはあった。
umdhじゃないかと思うが、スタックトレースは見てみたの?
プロセスの標準入出力に名前付きパイプが指定されてるとdllの明示的なアンロードのタイミングでApplication verifierでリーク検出されたことはあった。
401デフォルトの名無しさん (ワッチョイ 3a23-Wta3)
2018/09/12(水) 09:57:57.91ID:OqmF7RQ90 >>394
dll ってことは何かの exe の中で動いてるんだろ
そっちのコードが他スレッドで何かアロケートしてるとか
単に dll の問題で CreateProcess しなくてもリークしてるとか
dll ってことは何かの exe の中で動いてるんだろ
そっちのコードが他スレッドで何かアロケートしてるとか
単に dll の問題で CreateProcess しなくてもリークしてるとか
402デフォルトの名無しさん (スプッッ Sd7a-g95O)
2018/09/12(水) 19:18:39.87ID:BIkz+Ggud403デフォルトの名無しさん (ワッチョイ 57b3-AfNj)
2018/09/14(金) 01:05:55.69ID:y0a2qOvJ0404はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-okpm)
2018/09/14(金) 01:26:50.31ID:NOYHI4qj0 >>402
UMDH は増えずにタスクマネージャー上のプライベートメモリが増えるということは必ずしも問題があるわけではない。
(もちろん問題がある場合もある。)
malloc や new で割り当てるメモリは、
OS からある程度のメモリを融通してもらった塊をアプリケーションのレイヤ (ランタイムライブラリ) で切り分けて提供することになる。
足りなくなったらまた OS に要求する。
しかしその要求というのも、メモリ空間を予約するだけで物理メモリはまだ割り当てないかもしれない。
「プライベートメモリ」というのは予約したメモリ空間のサイズを表すらしく、
実際のメモリ使用量を表さないので、
基本的には UMDH をあてにした方が良いと思う。
UMDH は増えずにタスクマネージャー上のプライベートメモリが増えるということは必ずしも問題があるわけではない。
(もちろん問題がある場合もある。)
malloc や new で割り当てるメモリは、
OS からある程度のメモリを融通してもらった塊をアプリケーションのレイヤ (ランタイムライブラリ) で切り分けて提供することになる。
足りなくなったらまた OS に要求する。
しかしその要求というのも、メモリ空間を予約するだけで物理メモリはまだ割り当てないかもしれない。
「プライベートメモリ」というのは予約したメモリ空間のサイズを表すらしく、
実際のメモリ使用量を表さないので、
基本的には UMDH をあてにした方が良いと思う。
405デフォルトの名無しさん (ワッチョイ 9f4c-A9Cx)
2018/09/14(金) 04:46:07.61ID:Ln8BSCnm0 gflagsで対象exeのメモリ割り当てをコンパチブルモードにしてみたら
406デフォルトの名無しさん (スップ Sdbf-UqHH)
2018/09/14(金) 07:55:52.78ID:05hGeAAsd407デフォルトの名無しさん (ワッチョイ bf85-qteA)
2018/09/14(金) 20:22:01.09ID:KUzt6BBd0 プログラム全体で使いたい変数を宣言する際は
グローバル変数として宣言するのと#defineするのって何か違います?
どっちを使えばいいんですかね?
グローバル変数として宣言するのと#defineするのって何か違います?
どっちを使えばいいんですかね?
408デフォルトの名無しさん (アウアウカー Saeb-hTDA)
2018/09/14(金) 20:34:55.91ID:9HmXun5pa #define という事は定数だと思われるのでconstexprな変数に一票。
409デフォルトの名無しさん (ワッチョイ 9f12-9b2l)
2018/09/14(金) 20:44:10.13ID:kDrjUGbb0 グローバル変数だとコンパイルのときにエラーを出してくれる
#defineは値がヘンでもエラーを出さない
#defineは値がヘンでもエラーを出さない
410デフォルトの名無しさん (ドコグロ MMeb-0AE+)
2018/09/14(金) 20:54:15.35ID:c9w6X9S4M どっちとか言う前にもう少し言語仕様を理解してこいよ…
411デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 21:06:34.91ID:YK4Q2JFR0412デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 21:31:46.88ID:fXySkelb0 C++なら値変更不可な参照のみのシングルトンにしとけばいい
シングルトンを動的にイニシャラズできるようにすれば起動時に設定の変更ができたりするようにできる
めんどくさかったらdefineでいい
defineかえてコンパイルしなおせばしまいだからな
そういうdefineはカテゴリー毎にまとめてぜんぶ一か所に書いときなさい
シングルトンでも裸の外部変数はやめておいたほうがいい
それさえしなければどうでもいい
シングルトンを動的にイニシャラズできるようにすれば起動時に設定の変更ができたりするようにできる
めんどくさかったらdefineでいい
defineかえてコンパイルしなおせばしまいだからな
そういうdefineはカテゴリー毎にまとめてぜんぶ一か所に書いときなさい
シングルトンでも裸の外部変数はやめておいたほうがいい
それさえしなければどうでもいい
413デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 21:53:36.47ID:YK4Q2JFR0 し、シングルトン?
この話題でまさかのsingleton笑
さすがにこれはネタだよね?
この話題でまさかのsingleton笑
さすがにこれはネタだよね?
414デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 21:55:11.25ID:fXySkelb0 外部変数はシングルトンの変数だからな
なにもおかしくない
なにもおかしくない
415デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 21:56:25.39ID:YK4Q2JFR0 ここで言ってるsingletonって所謂GoFデザインパターンのsingletonだよね?
416デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 21:58:26.14ID:fXySkelb0 そもそも池沼のID:YK4Q2JFR0はdefineがなにかすらわかってないからな
> defineはほとんどの場合ただの置換に過ぎない。
ほとんどもへったくれもなく
defineはただの置換だからな
頭悪い
> defineはほとんどの場合ただの置換に過ぎない。
ほとんどもへったくれもなく
defineはただの置換だからな
頭悪い
417デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 21:59:24.65ID:fXySkelb0 頭悪いやつはムリしてレスしなくていい
なにもわかってないんだからな
なにもわかってないんだからな
418デフォルトの名無しさん (ワッチョイ 5723-B32r)
2018/09/14(金) 22:01:10.88ID:gH/Sje3Q0 >>416
結合と文字列化もあるから「ほとんど」であってるが
結合と文字列化もあるから「ほとんど」であってるが
419デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 22:01:20.46ID:YK4Q2JFR0 いつもの半角くん病が発症したらしいw
毎度毎度、燃料投下、お疲れ様ですm(_ _)m
毎度毎度、燃料投下、お疲れ様ですm(_ _)m
420デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:02:21.10ID:fXySkelb0 defineか外部変数にしたいとかいう質問だからな
普通にグローバルを定数値をもたせたいという質問内容なのに
このスレの低学歴知恵遅れたちがどう解釈したかはしらない
普通にグローバルを定数値をもたせたいという質問内容なのに
このスレの低学歴知恵遅れたちがどう解釈したかはしらない
421デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:02:53.11ID:fXySkelb0 結合も文字列かもただの置き換え
422デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:05:22.67ID:fXySkelb0 まず低学歴知恵遅れは日本語を読解する能力がない
ものごとも抽象的にみる能力もない
つまり認知機能に著しい欠陥がある
ものごとも抽象的にみる能力もない
つまり認知機能に著しい欠陥がある
423デフォルトの名無しさん (ワッチョイ d707-A9Cx)
2018/09/14(金) 22:05:58.57ID:BDjkgOYf0 ID真っ赤にして火病起こしたか
424デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:06:56.64ID:fXySkelb0 静的にどう置換されるかコンパイル時に決定されてるからな
このスレに池沼たちは、いつもなにをいってるか意味不明なワケ
このスレに池沼たちは、いつもなにをいってるか意味不明なワケ
425デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 22:07:36.57ID:YK4Q2JFR0426デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:09:30.41ID:fXySkelb0 低学歴知恵遅れが指摘できるのはこの程度
自分の著しい頭の悪さを棚にあげるからな
グローバルに定数値をもたせたい
とまともな日本語読解能力があれば
普通に読めるからな
自分の著しい頭の悪さを棚にあげるからな
グローバルに定数値をもたせたい
とまともな日本語読解能力があれば
普通に読めるからな
427デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:10:14.11ID:fXySkelb0 ともかくとてつもなく頭悪い
しかもとてつもなく頭悪いという自覚がない
しかもとてつもなく頭悪いという自覚がない
428デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 22:10:23.49ID:YK4Q2JFR0 >>426
よしよし、今日は素直でよろしい。
よしよし、今日は素直でよろしい。
429デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:11:29.39ID:fXySkelb0 で、オマエは自分の頭が
とてつもなく頭悪いのは自覚してんか
ゴミでクズな人間であることも自覚できてんのか
とてつもなく頭悪いのは自覚してんか
ゴミでクズな人間であることも自覚できてんのか
430デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 22:12:33.95ID:YK4Q2JFR0 さすがにもうワンパターンで飽きてきた。
もっと違う煽り方考えてよ。
ツンデレ的なのはどう?
もっと違う煽り方考えてよ。
ツンデレ的なのはどう?
431デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/14(金) 22:14:52.54ID:fXySkelb0 煽り?
まず事実だからな
バカは自分がバカである自覚がない
だからバカが直らない
すべてゴミでクズな人間性の問題
ゴミクズには内省というもんがない
まず事実だからな
バカは自分がバカである自覚がない
だからバカが直らない
すべてゴミでクズな人間性の問題
ゴミクズには内省というもんがない
432デフォルトの名無しさん (ワッチョイ 17b3-Jnas)
2018/09/14(金) 22:18:12.66ID:YK4Q2JFR0 最初は褒めて褒めて褒めちぎった上でミスリードを誘い、その上でボロクソに貶すとかどう?
さすがに皆そのやり方は飽き飽きしてるよ。
さすがに皆そのやり方は飽き飽きしてるよ。
433デフォルトの名無しさん (ワッチョイ ff81-okpm)
2018/09/14(金) 22:34:27.68ID:5DPUkElZ0 子猫がかわいくて甘噛みされたらちょっと叩いたあとで頭なでなでしてたら
大人になっても強くかむようになって困ったのを思い出した
なんだかなあ
大人になっても強くかむようになって困ったのを思い出した
なんだかなあ
434デフォルトの名無しさん (ワッチョイ 9780-9b2l)
2018/09/15(土) 00:40:17.11ID:KIanXBkQ0 オレはこんなことはしてないからな
タカイ
∧_∧ タカーイ
m⊂(´・ω・)⊃
⊂c ノ__ ノ
/⌒ヽ | .| | .| /⌒ヽ
( ^ω^) i i二 .ノ _( ^ω^) il| 死ね
(´ 二二二 ノ (´ \ \|il |il il|
/ /: / \. \ノ\. \il| |il|
i===ロ==/ i===ロ== ヘ. \. i|!l !l\il|
ノ:::::::::::::::::ヽ ノ:::::::::::::::::ヽ \ ヽη /')/')
/:::::::::::へ:::::::::ヽ /:::::::::::へ:::::::::ヽ ヽ_,,..) /
/::::::_/ \:::::::) /::::::_/ \:::::::) ) ( / /
/::_ '´ |::::| /::_ '´ |::::| ⊂(v )⊃
レ しつ レ しつ`) \ 〆 (´ ̄
/⌒Y⌒ヽ
ただの被害妄想
オレは事実を書き込んでるだけだからな
まず事実が事実であることを自覚するところから
タカイ
∧_∧ タカーイ
m⊂(´・ω・)⊃
⊂c ノ__ ノ
/⌒ヽ | .| | .| /⌒ヽ
( ^ω^) i i二 .ノ _( ^ω^) il| 死ね
(´ 二二二 ノ (´ \ \|il |il il|
/ /: / \. \ノ\. \il| |il|
i===ロ==/ i===ロ== ヘ. \. i|!l !l\il|
ノ:::::::::::::::::ヽ ノ:::::::::::::::::ヽ \ ヽη /')/')
/:::::::::::へ:::::::::ヽ /:::::::::::へ:::::::::ヽ ヽ_,,..) /
/::::::_/ \:::::::) /::::::_/ \:::::::) ) ( / /
/::_ '´ |::::| /::_ '´ |::::| ⊂(v )⊃
レ しつ レ しつ`) \ 〆 (´ ̄
/⌒Y⌒ヽ
ただの被害妄想
オレは事実を書き込んでるだけだからな
まず事実が事実であることを自覚するところから
435デフォルトの名無しさん (アウアウカー Saeb-hTDA)
2018/09/15(土) 01:10:27.96ID:FCP8vuXka バイナリファイルの読み書きはfstreamとFILEどちらがオススメですか?
436デフォルトの名無しさん (ワッチョイ 9fb3-okpm)
2018/09/15(土) 01:53:04.57ID:wlkSFfZ20 #include <iostream> is Forbidden
437デフォルトの名無しさん (ブーイモ MM9b-ahc+)
2018/09/15(土) 04:03:10.64ID:x4qTic2YM FILE
438デフォルトの名無しさん (ワッチョイ 5793-mIvp)
2018/09/15(土) 06:14:52.60ID:/OsufeBT0 >>407 を虚心坦懐に読めば
「#defineじゃ定数値しか作れんのだから変数にする以外ない」
という身も蓋もない答えもありうるわな。
さすがにそんな揚げ足取りをする人はいないみたいだけど。
プログラム全体で参照する定数値をconstのグローバル変数にするか
#defineにするか、なら一般的にはconst変数の方が好まれるかな。
const変数の利点と言うより、#defineの弊害を避けるためって理由で。
その定数が整数値なら enum class も候補に入れてくれ。
static_castが面倒臭いかも知れんけど。
「#defineじゃ定数値しか作れんのだから変数にする以外ない」
という身も蓋もない答えもありうるわな。
さすがにそんな揚げ足取りをする人はいないみたいだけど。
プログラム全体で参照する定数値をconstのグローバル変数にするか
#defineにするか、なら一般的にはconst変数の方が好まれるかな。
const変数の利点と言うより、#defineの弊害を避けるためって理由で。
その定数が整数値なら enum class も候補に入れてくれ。
static_castが面倒臭いかも知れんけど。
439デフォルトの名無しさん (スップ Sd3f-iXbp)
2018/09/15(土) 08:40:54.56ID:8TAknpK9d ここまでconstexpr1つもなしなのはみんな意図的?
440デフォルトの名無しさん (ブーイモ MM9b-ahc+)
2018/09/15(土) 09:11:50.04ID:pVwVWDM8M >>439
つ 408
つ 408
441デフォルトの名無しさん (ワッチョイ 9f33-+ow7)
2018/09/15(土) 09:12:10.24ID:hHXkfIbs0442デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/15(土) 09:39:05.72ID:u2jcQID60 整数の定数くらいならconstexpr付けても付けてなくても大して変わらなくない?
const int n = 42; と constexpr const int n = 42; って何が違うの
どっちも定数式文脈で使えるでしょ
const int n = 42; と constexpr const int n = 42; って何が違うの
どっちも定数式文脈で使えるでしょ
443デフォルトの名無しさん (スップ Sd3f-iXbp)
2018/09/15(土) 10:09:16.49ID:8TAknpK9d444デフォルトの名無しさん (ワッチョイ 9fb3-nprU)
2018/09/15(土) 10:28:10.96ID:wlkSFfZ20 constexpってクソださい仕様だよな
勝手に推論して最適化しとけや
勝手に推論して最適化しとけや
445デフォルトの名無しさん (アウアウウー Sa1b-TNGn)
2018/09/15(土) 11:23:26.53ID:oMwX4DqWa >>438
関連性のある定数群をまとめる為にはスコープがあるenum classはいいんだけど、
フラグとして使うのが難しいのがちょっと難点
enum class PNG_COLOR_MASK: uint8_t{
GRAY = 0b000,
PALETTE = 0b001,
RGB = 0b010,
ALPHA = 0b100
}
enum class PNG_COLOR_TYPE: uint8_t{
GRAYSCALE = PNG_COLOR_MASK::GRAY,//できない
RGBA = PNG_COLOR_MASK::RGB | PNG_COLOR_MASK::ALPHA//できない
}
関連性のある定数群をまとめる為にはスコープがあるenum classはいいんだけど、
フラグとして使うのが難しいのがちょっと難点
enum class PNG_COLOR_MASK: uint8_t{
GRAY = 0b000,
PALETTE = 0b001,
RGB = 0b010,
ALPHA = 0b100
}
enum class PNG_COLOR_TYPE: uint8_t{
GRAYSCALE = PNG_COLOR_MASK::GRAY,//できない
RGBA = PNG_COLOR_MASK::RGB | PNG_COLOR_MASK::ALPHA//できない
}
446デフォルトの名無しさん (ワッチョイ 37c3-A6n1)
2018/09/15(土) 14:56:24.44ID:u2jcQID60 フラグとして使うならoperator|と&をオーバーロードするのが良いけど面倒だね
PNG_COLOR_MASK operator|(PNG_COLOR_MASK e1, PNG_COLOR_MASK e2)
{
using u_t = typename std::underlying_type<PNG_COLOR_MASK>::type;
return PNG_COLOR_MASK((u_t)e1 | (u_t)e2);
}
PNG_COLOR_MASK operator|(PNG_COLOR_MASK e1, PNG_COLOR_MASK e2)
{
using u_t = typename std::underlying_type<PNG_COLOR_MASK>::type;
return PNG_COLOR_MASK((u_t)e1 | (u_t)e2);
}
447デフォルトの名無しさん (アウアウウー Sa1b-hTDA)
2018/09/15(土) 15:34:42.86ID:oMwX4DqWa ここまでやって更にstatic_castも必要となるという。
448デフォルトの名無しさん (ワッチョイ bf9f-dTjR)
2018/09/15(土) 16:32:07.11ID:I8Ewbo070449デフォルトの名無しさん (ワッチョイ 5704-G9Ec)
2018/09/15(土) 19:18:14.78ID:XFoW6siK0 fstreamでも結局writeするのでFILEと比較して都合のいい方を選べばいいよ。
450438 (ワッチョイ 5793-mIvp)
2018/09/15(土) 19:36:37.14ID:/OsufeBT0 enum class はスコープを限定できる代わりに、個別の型として
ガチガチに保護されるせいで数値として使いにくい欠点はあるね。
namespace PNG_COLOR_MASK {
enum {
GRAY = 0b000,
PALETTE = 0b001,
RGB = 0b010,
ALPHA = 0b100,
};
}
int grayscale = PNG_COLOR_MASK::GRAY;
int rgba = PNG_COLOR_MASK::RGB | PNG_COLOR_MASK::ALPHA;
こんな感じにnamespaceで名前なしのenumを囲むか。
素直にconstexprを使えばいいんだけど、C++11以前でも可というニッチな提案。
ガチガチに保護されるせいで数値として使いにくい欠点はあるね。
namespace PNG_COLOR_MASK {
enum {
GRAY = 0b000,
PALETTE = 0b001,
RGB = 0b010,
ALPHA = 0b100,
};
}
int grayscale = PNG_COLOR_MASK::GRAY;
int rgba = PNG_COLOR_MASK::RGB | PNG_COLOR_MASK::ALPHA;
こんな感じにnamespaceで名前なしのenumを囲むか。
素直にconstexprを使えばいいんだけど、C++11以前でも可というニッチな提案。
451デフォルトの名無しさん (アウアウカー Saeb-hTDA)
2018/09/15(土) 20:20:12.42ID:MJTXjpFoa その場合structで囲むのもありだね。二進数リテラルはC++11以前では拡張だけど。
452デフォルトの名無しさん (アウアウウー Sa1b-TNGn)
2018/09/15(土) 21:04:37.66ID:V75GOAR/a453デフォルトの名無しさん (アウアウウー Sa1b-TNGn)
2018/09/15(土) 21:10:11.77ID:V75GOAR/a■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「COP30」開催地を軽蔑? ドイツ首相発言に批判 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【カブス】今永昇太 1年約34億円で残留へ QO受諾 米メディア報じる [鉄チーズ烏★]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 【雑談】暇人集会所part19
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】女の子、整形で片目失明...高市助けて... [856698234]
- 【悲報】風俗嬢「風俗の客は既婚者や彼女持ちがほとんど。いわゆる弱者男性の客はほぼない」なぜ弱者男性は風俗を嫌うのか? [257926174]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
