C++相談室 part152

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/07/12(日) 13:42:20.13ID:TX1mpKr6
https://mevius.5ch.net/test/read.cgi/tech/1589424805/
2020/09/26(土) 06:40:46.95ID:U+G6yEte
>>705
> スタック領域変わったからと言ってSPの初期値以外に一体何を書き換えるんだよw
の答えはまだかな?

> 許して欲しいならちゃんとそう言えよ
> まあ逃げても追わねえでやるけど
そのまま返してやるからさw
2020/09/26(土) 06:47:39.19ID:JvTrRG8q
>>706
答えはまだかなって、そもそも俺は聞かれてないんだが?
レスの流れをもっぺん追ってみな
2020/09/26(土) 06:49:33.64ID:U+G6yEte
>>707
お前が誰か知らんがなw
関係ないならいちいち絡んでくるなよ、気持ち悪いわ
2020/09/26(土) 06:51:36.58ID:JvTrRG8q
>>708
では「答えはまだかな」は引っ込めるんだな?
しがみついてた梯子を外されて可哀想にw
2020/09/26(土) 06:57:40.31ID:U+G6yEte
>>709
馬鹿なの?
お前に対しては聞かないというだけの話
>>653が早く答えればいいだけ
まあ無理だからゴミクズとか言い出してるんろうけどw
2020/09/26(土) 07:13:53.77ID:JvTrRG8q
>>710
おまえさんがゴミクズなのはC++でROM焼きしてないからだ
それをすり替えようったってそうはさせねえよ
わかったか? ゴミクズ
2020/09/26(土) 07:27:56.00ID:U+G6yEte
何だこいつ?
いきなり絡んできて意味不明なこと言い出すとか通り魔かよw
2020/09/26(土) 07:37:41.03ID:JvTrRG8q
ここはC++スレだ
ゆえにC++でコード書いてないやつは価値ゼロだ

もう一度言う
おまえさんがゴミクズなのはC++でROM焼きしてないからだ
8080であろうが6809であろうが関係ない
C++でコード書いて得た知見を言え
それ以外の戯れ言はいらん
2020/09/26(土) 08:42:15.83ID:U+G6yEte
>>713
ROM焼きしてないだけでC++はガンガン使ってるけど?
thisポインタなんてstructへのポインタを自動生成してるだけ
初期のC++処理系でC言語に変換したコードとか見たことないのか?
2020/09/26(土) 08:47:39.20ID:JvTrRG8q
>>714
おまえさん6800だの8080だの持ち出してドヤってたろ
6800でC++書いてんのかよ? え、おい
2020/09/26(土) 09:07:00.22ID:U+G6yEte
>>715
6800とか8080の話は>>691からの流れな
話の流れも読めないバカは黙ってなよw
2020/09/26(土) 12:45:09.58ID:uIJkShC0
スタック上にある構造体を指すポインタはスタック領域を指すっていう
それだけの話で100レス以上も盛り上がれるなんて楽しそうで羨ましい
2020/09/26(土) 12:57:51.80ID:U+G6yEte
上から目線で頓珍漢な結論を開陳してる君の方が幸せそうだがw
2020/09/26(土) 13:01:37.96ID:JvTrRG8q
>>718
エテ公の自己紹介乙
2020/09/26(土) 13:10:27.66ID:U+G6yEte
話の流れも読めないバカがなんか言ってるなw
惨めにならないんだろうか?
2020/09/26(土) 13:18:24.22ID:JvTrRG8q
上から目線で頓珍漢な結論を開陳
上から目線で頓珍漢な結論を開陳
上から目線で頓珍漢な結論を開陳
2020/09/26(土) 13:25:59.50ID:JvTrRG8q
>>716
633とかの黒歴史はなかったことにしたいんだろw
C++使ったことない環境の話でドヤるなと牽制されて

なあID:cdg8K9Zmよ
2020/09/26(土) 15:07:52.90ID:U+G6yEte
>>722
ん?
633のどこがおかしいの?
結局、
>> 設定値を変えるだけだろとか簡単に言われても困る。
> スタックへのアクセスってよほどトリッキーなことをしない限りSP相対だぞ
> スタック領域変わったからと言ってSPの初期値以外に一体何を書き換えるんだよw
の回答もないんだけど、君が答えてくれるのかな?w
2020/09/26(土) 15:21:46.24ID:RuVJsWZT
当初は技術論をぶつけあってるようで興味深く読ませてもらってた
難しくて理解できないことも多かったけど

いまはもうただの罵倒合戦になっちゃったね残念です
2020/09/26(土) 15:47:25.99ID:ZTwAa6WW
>>723
説明したとおり、昔の処理系は移動した先のスタックエリアがそこに常にあるとは保証されないからその対応は必要。
今はユーザーモードならOSがスレッドコンテキストを保証してるから頭使わないだけ。
2020/09/26(土) 15:57:43.88ID:U+G6yEte
>>725
> 説明したとおり、昔の処理系は移動した先のスタックエリアがそこに常にあるとは保証されないからその対応は必要。
申し訳ないけど全然状況が想像できん、具体例で説明してくれ
2020/09/26(土) 16:18:49.58ID:ZTwAa6WW
スレッドセーフだったAPIがスレッドセーフじゃなくなりました!!
って言われて、はぁ?と言いながらソースを修正する、みたいな。こんな具体例でいいですか?
2020/09/26(土) 16:40:11.75ID:d+bfMgei
ワイはそこまで昔のことは知らんし、組み込み系の話もわからんけど、
MS-DOS (16bit) 時代のプログラミングの知識だと
データの位置はスタックポインタからの相対というだけではなく
セグメントレジスタの内容も加算される。

スタックセグメントレジスタとデータセグメントレジスタが一致するときは
単純なのだが、そうでないときはセグメントの値とセグメント内のオフセットを組にして
ポインタとして扱わなければならない。
(いわゆる far pointer のこと。
Windows SDK のヘッダファイルの中に near と far がマクロ定義されているのはたぶんそのなごり。)

C のプログラムとして書く分にはメモリモデル (セグメントの扱い) を決め打ちして、
コンパイラはそれに従って整合性を取ってくれるから素直な C プログラムなら問題にならないが、
凝ったメモリ管理をしようとするとそう単純にはいかないことはあったかもしれん。
2020/09/26(土) 17:22:32.99ID:U+G6yEte
>>727
ごめん、全然わからん
そもそもスレッドとかがある時代の話なの?

>>728
あなたも書いてる通りfarポインタでも
> コンパイラはそれに従って整合性を取ってくれるから素直な C プログラムなら問題にならない
のが普通
よほどトリッキーなことをすれば駄目なケースがあるのかも知れんが俺には思いつかん
2020/09/26(土) 17:29:29.79ID:JvTrRG8q
こいつメモリコンパクション知らんの?
2020/09/26(土) 17:35:47.60ID:U+G6yEte
>>730
スタック領域にメモリーコンパクション?
昔の処理系の割にスレッドとかメモリーコンパクションとかなかなか凝ったシステムやねw
2020/09/26(土) 17:36:30.11ID:JvTrRG8q
メモリーコンパクションて昔の処理系でしょ
今の処理系でやるやつあんの?w
2020/09/26(土) 17:54:42.30ID:ZTwAa6WW
あーコンパックショックね。昔あったあった。
2020/09/26(土) 17:55:50.69ID:U+G6yEte
昔といえば昔かな、>>725はもっと昔の話かと思ってたけど
で、メモリーコンパクションがどう関係するって?
2020/09/26(土) 18:03:51.62ID:ZTwAa6WW
これだけ説明して何も分からないならそれまででしょう。
OSに感謝してC++富豪プログラミングを謳歌してください。
2020/09/26(土) 18:41:14.25ID:U+G6yEte
説明できずに遁走
と言うことでいいかなw
まあそうだろうとは思ってたけど
2020/09/26(土) 18:44:55.61ID:ZTwAa6WW
もちろんだ。それでキミの自尊心が傷つかないで済むならそれでいい。
2020/09/26(土) 19:34:56.51ID:U+G6yEte
了解
2020/09/26(土) 23:28:50.69ID:d+bfMgei
>>729
ひとつのプログラムの中では整合性は維持されるけど、
別のタスクとやりとりするときにメモリモデルが違うと
near pointer と far pointer を明示的に使い分けないといけないことがある。

わかってればとりたてて難しいことではないのだけど、
言語仕様に沿ってれば後はコンパイラにお任せというわけにはいかない。
知ってる必要はあった。

話題の発端 (よりは少し後?) でスタックポインタとの相対番地は
呼出し側で計算するんだから……という話が出ていたので、
他の要素 (セグメント) が絡むアーキテクチャのことを思い出したなぁという余談。
2020/09/26(土) 23:47:45.08ID:Hf1Mq2xd
>>739
理解しているだけでなく、far というキーワードを
char far *ptr;
のように書いたりしなくてはいけなくて、面倒だった。
2020/09/27(日) 02:34:34.90ID:S4au1vJD
far ポインタ、今ここで見なければたぶん一生わすれたままだったのに
ちなみにMS-DOS時代は全部のセグメントをひとつにまとめた .COM っていう実行形式あったな
いまでも動くのかしらんけど
742デフォルトの名無しさん
垢版 |
2020/09/27(日) 05:20:36.19ID:PnF6Ozyr

2020/09/27(日) 08:55:07.39ID:WOc0AJ0G
>>741
Windows では今でも com 形式を実行できるよ。
環境変数 PATHEXT の Windows でのデフォルト設定を見ればわかるが、先頭に com が入ってる。
(同じ名前であれば exe より com が優先されるということ。)

C:\Windows\System32 の下にはいくつか com 形式の実行ファイルはあるし。

ただ (com 形式に限らず) 昔のプログラムは直接にデバイスを叩いていたりして、
さすがにサポートしきれていない場合もあるから、昔のプログラムが何もかもそのまま
動くというほどではない。
2020/09/27(日) 08:59:30.78ID:p6y4XMAK
>>739
別に一つのプログラムの中でもnearとfarを混在できる
メモリーモデルはディフォルトのnear/farを決めてるだけだから異なるメモリーモデルのプログラムを混在させたなら相互に使用するデータやコードには個々にnear/farの指定をする必要があるのは当たり前
それを含めて言語仕様だし

>>740
char near * far f();
とか書き方がややこしいのは認める
2020/09/27(日) 09:33:39.25ID:QntRtEDW
>>743
たとえばC:\Windows\System32\format.comなんかあるけど
dumpbin /headers format.comとやると中身はexeだと出てくるぞ
masmに付いてたexe2binで出力した本当のtinyモデルのやつは
x86までで、x64のwindowsでは実行できんぞ
2020/09/27(日) 11:05:00.24ID:WOc0AJ0G
>>745
えっ、そうなんや!? それは知らんかった。
じゃあ拡張子が com なのはなんかの互換性とかの都合なのかな。
2020/09/27(日) 11:34:08.96ID:QntRtEDW
format.comはdosの時代からずっと拡張子.comのままだね
int 21h, ah=4bhで指定するファイル名が変わると困るから
2020/09/27(日) 11:41:49.52ID:QntRtEDW
ちなx64で16bitプログラムが実行できないのはm$の恣意的な制限で
ホストx64、ゲストx86のvmアンダーなら.com形式のプログラムも実行できる
2020/09/27(日) 12:07:35.19ID:s60mNpHS
Windows 95 の command.com ですら exe 形式
ライブラリ含むと64KB制限は結構きつい
2020/09/27(日) 12:21:08.36ID:B8/m6o5T
確か、int 21hのDOS Function Callは、今のWindowsではサポートされなく
なったと聞いた様な。
2020/09/27(日) 12:41:38.04ID:HRFRA9zs
kakaku.com
752デフォルトの名無しさん
垢版 |
2020/09/27(日) 15:19:28.84ID:PnF6Ozyr
今に生きろよw
2020/09/27(日) 15:49:06.00ID:tl/HXTc2
じじいは昔話しだすと止まらなくなる
ボケてないんだったら自覚して自重しろ
754デフォルトの名無しさん
垢版 |
2020/09/27(日) 16:17:04.29ID:kqCKlQkp
.comはCPMの名残だけど
全セグメントを一つにまとめたってのは
ちょっと違くないか?
別に違うセグメントにアクセスしても問題無く動いてたろ?
2020/09/27(日) 16:28:23.36ID:WOc0AJ0G
>>754
今でいうセクションみたいなことを言おうとしたんでしょ。
実行環境の話ではなくあくまでもファイルフォーマット。
2020/09/27(日) 16:35:25.79ID:LVdhYtmI
>>754
たぶん *.com と *.exe の違いはMS-DOS のイメージローダの都合、というものじゃないでしょうか?
*.exe はテキストの前に、セグメントアロケーション情報を持っていて、実行ファイルをロードする歳に、関係するセグメントオフセットを実セグメントに変更します
*.com にはそれがなく、生のテキストがメモリ上に配置されるだけ

*.com であってもプログラマが自分でオフセット・セグメントを把握したり、スタックポインタ・スタックセグメントを設定しているのだったら、それはそれで問題なく動くでしょう
2020/09/27(日) 17:06:17.30ID:QntRtEDW
簡単な実験

echo テ>test.com
test.com
2020/09/27(日) 19:47:03.79ID:SosvOXW5
PC9801の頃に、漢字 2字? のファイルを comで保存して、IPLん走らせるみたいのあったな
たしかその 4バイトは 0番地に分岐する命令だったような
2020/09/27(日) 20:35:56.16ID:QntRtEDW
ぴぽ
760デフォルトの名無しさん
垢版 |
2020/09/28(月) 11:44:17.88ID:PXJ7xAyj
美乳
2020/09/30(水) 00:23:01.22ID:Sia2lU3A
>>759
いまでも鮮やかに蘇る
2020/09/30(水) 12:14:30.74ID:k+HGkMpo
How many files (0-15) ?
NEC N88-BASIC Version 2.1
Copyright (C) 1981 by Microsoft
56548 bytes free
Ok
763デフォルトの名無しさん
垢版 |
2020/09/30(水) 20:39:25.56ID:48ryTnta
_DEBUG で区切っているコードがあり、
releaseモードで実行したのに
_DEBUGで切っているコードを実行されてしまいます。
プロジェクトプロパティにて宣言していないのは確認しています。
なにか解決になるヒントだけでもいただけないでしょうか?
2020/09/30(水) 20:51:05.98ID:/J4p2JyL
>>763
大ヒント:
それはC++の機能じゃない。Visual Studioのスレで聞け。
あとビルド構成
765デフォルトの名無しさん
垢版 |
2020/09/30(水) 22:08:07.49ID:48ryTnta
>>764
スレチすみませんでした。
2020/10/01(木) 09:15:47.76ID:oZeTafce
Releaseモードにしたとき自動で入るのはNDEBUGだろ
その昔、ソースコードの中で#undefしてる大タコなやつがいた
767デフォルトの名無しさん
垢版 |
2020/10/01(木) 12:08:12.26ID:OaA9a4hN
間接話法による自己紹介とはなんと慎み深いお方なんだ
768デフォルトの名無しさん
垢版 |
2020/10/01(木) 13:35:09.79ID:27/Dd+rP
ここ見てるとC++使いは性格悪いのが多いって感じがする
2020/10/01(木) 14:16:23.58ID:QPXIh54Z
昔はこのスレももっとまともな人が多かったと思うけど、いつの間にか一部のガラの悪い奴らの下らない罵り合いばかり見せられて人が去っていったのかなと思う。
2020/10/01(木) 14:19:30.67ID:WQPTDVBo
ここで聞くより調べたほうが大抵早いし
なんでこんなところに来るのかわかんない
2020/10/01(木) 14:31:52.80ID:i8Yvf3kp
入り組んだ仕様の組み合わせで起こることならともかく、
簡単に調べられることだと回答も仕様 (またはどっかの解説)
をコピペするか URL を貼るだけになるからつまらんのだよなー。
そのワンステップ必要? という気持ちにはなる。

本物の初心者がそれすらできないことがあるのも知ってるから、
あまり無碍にはしないようにしてるけど、
つまらんなーという気持ちは残る。
772デフォルトの名無しさん
垢版 |
2020/10/01(木) 14:45:07.87ID:27/Dd+rP
>>770
見事な自己矛盾
2020/10/01(木) 14:58:05.69ID:WQPTDVBo
別に質問しに来てるわけじゃないからな
質問する人がどういう経路で来るのか気になる
774デフォルトの名無しさん
垢版 |
2020/10/01(木) 15:04:41.08ID:15Icpaxe
>>769
2|5ちゃん全体がそれ
775デフォルトの名無しさん
垢版 |
2020/10/01(木) 16:59:28.58ID:ECwAm/rR
まじでc++ユーザー煽り合いしか出来ねーな
普通に教えられないのか?
そのくせTwitterでは、新人への対応がーとか云々社内のこと愚痴る癖に人の振り見て我が振り直せって感じ
2020/10/01(木) 17:01:21.71ID:C7xRzI9k
コード書かないC++委員会の言語オタクどもが仕様拡張病を患ってるから
仕様を知ってる知らないレベルでマウンティング合戦になるんだよな。
777デフォルトの名無しさん
垢版 |
2020/10/01(木) 17:03:19.37ID:15Icpaxe
>>776
>C++委員会の言語オタクどもが仕様拡張病

ああ判るわ
コード描くか描かないかに関わらず目的が可笑しい
2020/10/01(木) 17:08:35.75ID:i8Yvf3kp
>>769
昔からこんなもんだったよ。
2020/10/01(木) 17:11:12.79ID:oZeTafce
知らなかった情報が拾えるのはいいことだし
質問する者にとって回答してくれる者がいるのもいいことだ

問題はしょーもないクイズで人を小馬鹿にするやつと
無知を正当化しようとする弁舌だけ達者なボーガスだ
2020/10/01(木) 17:17:50.23ID:C7xRzI9k
質問して答えられなかったら自分の勝ちというのは昔から馬鹿左翼の論法。
国会でカップラーメンの値段聞いたりほんと馬鹿である。答えを知ってるなら説明するだけでいい。
2020/10/01(木) 17:20:08.60ID:Qv735ygl
C++書くと短気になるのか?
2020/10/01(木) 17:25:14.05ID:oZeTafce
いや気が短い人には、テンプレート絡みのエラーメッセージなんか読めるはずがない
2020/10/01(木) 17:27:09.99ID:C7xRzI9k
組織で開発してるのにおれおれテンプレートなんか使われたらもはや他人が読めるものではない。

キレて当然。
2020/10/01(木) 17:28:30.32ID:oZeTafce
出たな
無知を正当化しようとする弁舌だけ達者なボーガス
2020/10/01(木) 17:28:43.35ID:Njtwj5ZN
>>770 >>771
でも検索するより、知ってる人に聞いたほうが早いことが多い。
それに複雑な事柄を検索しても、回答を見つけるのは難しいことが多い。
2020/10/01(木) 17:29:21.00ID:oZeTafce
問題はしょーもないクイズで人を小馬鹿にするやつと
無知を正当化しようとする弁舌だけ達者なボーガス

ゴミクズ同士、共食いで滅びて欲しい
2020/10/01(木) 17:31:05.75ID:f58nw38n
デフォルトの名無しさん🐙←タコがついて内科医?
2020/10/01(木) 17:31:24.98ID:C7xRzI9k
ID:oZeTafce  ←こういうのが一人でもいると他人が読めないコードを大量生産してデスマーチになるからちゃんと監視しなきゃならない。みんな無知過ぎ、他人の読めないコード書くおれーすげー、みたいな。
2020/10/01(木) 17:32:57.38ID:HM8/0niY
>>776
最近日本人の有名なC++ライターが
「グラフィクスとかオーディオのライブラリ標準化にはゲーム業界も参加しないとやばいよ、という目的もあった」
とかtwitterで言ってたんだが(なんかの講演に関して)
この上から目線は最近?昔から?

ゲーム業界はC++標準に興味など無いことに、いつになったら気付くのか・・・(特にグラフィックスはC++標準に新機能が採用されるのを、何年も待つはずが無い)
2020/10/01(木) 17:39:16.66ID:HM8/0niY
ゲーム業界というかプロ全般(標準に興味ない
2020/10/01(木) 17:49:49.29ID:f58nw38n
たこ焼き祭りですか?
2020/10/01(木) 17:51:57.40ID:f58nw38n
おまいら運営に馬鹿にされてるぞ。
2020/10/01(木) 18:03:10.97ID:f58nw38n
タコも高級品になったもんだ。
2020/10/01(木) 19:56:29.24ID:oZeTafce
>>788
全然、凄くない
当たり前のことをしているだけだ
法には周知義務があるのを忘れるな
2020/10/01(木) 23:54:48.33ID:N8frV11f
まあ江添みたいな馬鹿はあと数年も持たず路頭に迷うだろ。
2020/10/02(金) 00:34:33.37ID:Whvs+WDZ
職質拒否して裁判もボロ負けしたC++イキリおじさんだっけ
797デフォルトの名無しさん
垢版 |
2020/10/02(金) 00:41:43.80ID:N9frkbqQ
丸坊主にリュックで安全靴なら職質されても仕方ない
2020/10/02(金) 01:57:01.58ID:ooD45Zz3
本当に、職務質問を拒否しただけで逮捕されるのか?

日本は民主国家か?
これ、中国と同じだろw
2020/10/02(金) 02:05:48.79ID:Zv/IYSQC
いかにも怪しいやつを人権・自由を盾に野放しにする社会とどっちがいい?
2020/10/02(金) 07:09:19.57ID:h/f4PeOt
自分がその「いかにも怪しいやつ」に仕立て上げられてと構えられることの想像力が働かないんですね
2020/10/02(金) 07:13:45.38ID:Zv/IYSQC
想像力の問題とちゃうやろ
2020/10/02(金) 07:51:44.17ID:w3pZXp3m
別にIOCCCみたいにわざと意地悪してるんじゃなく
整合性を大事に書くときに有り難い機能が追加されたら使うってだけ

新しい機能を使うなってやつは何を基準に言ってるんだ?
たとえばcfront 1.0が基準ならテンプレートどころかprotectedすらないんだが
2020/10/02(金) 08:20:07.69ID:n3ogA7Ho
堀江貴文と一緒でルールハックドヤかましたかっただけだろうがマジで連行されたっていう頭の悪いオチだろ。
2020/10/02(金) 08:43:35.55ID:ooD45Zz3
他国の有罪率は、50%。
日本だけが、100%

だから、半分は冤罪。
ほとんど証拠がないけど、有罪になってる

酒酔い運転の検問でも、息を吹きかけて、検査機のランプが点かないと、
警官がちょっと待ってと言って、くるっと後ろを向くと、ランプが点く

何のことはない。
警官が酒を飲んでいて、息を吹きかけているw

警官の犯罪率は、異常に高いと思う
2020/10/02(金) 09:37:02.67ID:JOAyzIPW
>>804
rubyガイジは真正の馬鹿だな。
脳みそ足りなすぎて日常生活に支障が出てるんじゃないか?

日本の起訴率は51.5%
よって有罪率は0.515 * 0.998 = 約51%
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況