[過去ログ] C++相談室 part164 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
526: (ワッチョイ a728-Nt2/) 2023/07/22(土)15:41 ID:1sMnnOgP0(5/5) AAS
ゴメ自己解決しますたorz
527
(1): (ワッチョイ 5f32-vVS+) 2023/07/22(土)17:02 ID:lBkog51W0(1) AAS
スコープを抜けたローカル変数であれば順当な割り当てに思えるのだけど
>>514が差し支えるのはコードインジェクションで引数を使い回すとかの横着
さりとてトップレベルのconstやvolatileは関数シグネチャに現れない訳で
cdeclであろうと引数の寿命は関数を抜けるまでだろうから極めて妥当なのか?

14.27.29110ではやらず、スタック量は逆に増え…増えたから節約してるのか
rbp+なら…いやそれも引数用スタック。C++20でvolatile非推奨化は有ったが
volatile引数への代入も引数スタックへの書き込みと思っちゃならんのかな
528
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/22(土)18:07 ID:QLIAp4G50(2/3) AAS
>>527
言いたいことがあるなら独り言を書くんじゃなくて説明しろ。
529
(1): (ワッチョイ bf42-vVS+) 2023/07/22(土)18:59 ID:h3Z+iL0O0(1) AAS
>>528
どの部分ですか?rbp+のくだりならx64であればシャドウストアを呼び出し元が確保する事になっているので
引数へ代入以外でもrbp+に書き込まれるが、それにしたって引数の退避以外で行われるかという意味だけど

またこの最適化が適正だとすれば引数へconstを指定しても
それは引数の格納元が書き換わらない事を意味しない訳で
volatileにしても引数スタックと同一視は出来ないのかなと
530: (テテンテンテン MM8f-TfYz) 2023/07/22(土)19:01 ID:gun3EJ7PM(1) AAS
>>519
resultは欲しいね。
531: (ワッチョイ 875f-UuLb) 2023/07/22(土)19:08 ID:nQhdUCcc0(1) AAS
とりあえずcallee-savedとcaller-savedあたりでググってこい
532: (ワッチョイ 473e-8suU) 2023/07/22(土)19:21 ID:QLIAp4G50(3/3) AAS
>>529
技術的な意味合いじゃなくてね、
それをのべてどうしたいのってことだよ。
疑問なのか?主張なのか?感想なのか?
533
(1): (ワッチョイ bf79-mRrB) 2023/07/22(土)23:38 ID:a8PwsTyx0(1) AAS
これだけは言っておく
文章が下手糞はプログラミングも下手糞ってことだ
534: (ワッチョイ dff0-lmMR) 2023/07/22(土)23:53 ID:31w2/Kbx0(1) AAS
久々にヤバい変数名を見た
>>525
このクソみたいな変数名はおまえが考えたのか
535: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/23(日)01:23 ID:3Ckw8KVE0(1) AAS
>>533
母語で説明できないようならプログラマには向いてないとかいう意味のことをダイクストラが言ってたな。

普通の人は母語が最も得意なはずだからそれで表現できないのに
プログラミング言語でなら表現できるってことはないのは道理というものだ。
536: (スップ Sd7f-d+yq) 2023/07/23(日)07:00 ID:TPcdF2Bwd(1) AAS
二、三個違えて大域変数切って火に油注ぎたくなるやつ
537: (ワッチョイ dff0-FYg4) 2023/07/24(月)22:04 ID:7/Qlh6bu0(1) AAS
さんざん言われてるけど質問文きちんと書ける人はChatGPTで自己完結しちゃうんだよな
538: (ワッチョイ a728-Nt2/) 2023/07/25(火)00:09 ID:ngER/Udx0(1/2) AAS
ゴメス>>524はリリースビルドしたら全部同じアドレスになったわ;;;
やっぱ握った変数なりオブジェクトなりのアドレスを
その変数なりオブジェクトなりの寿命が尽きた後に
使おうとするのは未定義動作であることだなあ、
539
(1): 2023/07/25(火)03:57 ID:YH2RVZct0(1) AAS
俺には>>524がなんでそんな結論になるのか分からんのだが
for内で i を宣言してるんだからfor のスコープを持つローカル変数だろ?
int が4バイトの前提で言えば for 突入時に int i をスタック上に確保(スタックポインタを4バイトマイナス)して for 離脱時に int i の領域を解放(スタックポインタを4バイトプラス)する
この繰り返しなんだから int i や int ii のアドレスが同じになることに疑問を挟む余地がないと思うんだけど
何がおかしいのか俺にはさっぱり分からん
540
(1): (アウアウウー Sa2b-tGd7) 2023/07/25(火)09:19 ID:k8WJtY+Ua(1/2) AAS
for の i がローカルになったのは最近
グローバルに盛れるコンパイラ環境は巷に溢れていた
541: (アウアウウー Sa2b-tGd7) 2023/07/25(火)09:19 ID:k8WJtY+Ua(2/2) AAS
盛れるじゃなかった
漏れる
542: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/25(火)11:10 ID:akUn9hsS0(1/6) AAS
>>540
最近っていつ頃のことだ?
543: (ワッチョイ dff0-POqA) 2023/07/25(火)11:32 ID:YIf2r9Dz0(1/5) AAS
#define for if(0) else for
544
(1): (ワッチョイ dff0-POqA) 2023/07/25(火)11:34 ID:YIf2r9Dz0(2/5) AAS
間違えた
#define for if(0) {} else for
これでゾンビiよく消してた
545
(1): (ワッチョイ 0710-PxlL) 2023/07/25(火)12:01 ID:RkQ0FrMx0(1/5) AAS
>>544
ごめん、まじめに教えて
これ何の意図?

これに意味がある具体的なコンパイラって何の何version?
546
(1): (ワッチョイ dff0-POqA) 2023/07/25(火)12:08 ID:YIf2r9Dz0(3/5) AAS
VC++6.0という大昔にデファクトスタンダードだったコンパイラだ
547
(1): (ワッチョイ 0710-PxlL) 2023/07/25(火)12:10 ID:RkQ0FrMx0(2/5) AAS
>>546
ほんとにごめん、何の意味があるの?
548
(1): (ワッチョイ dff0-POqA) 2023/07/25(火)12:12 ID:YIf2r9Dz0(4/5) AAS
例外飛ばすと自動変数の破棄全部ふっ飛ばして戻ってくる酷いポンコツだったな
よくこんなの皆つかってたなというかコレしかなかったからな
549
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/25(火)12:13 ID:akUn9hsS0(2/6) AAS
>>545
for の初期化節で変数宣言した場合にその外側のブロックがスコープになるコンパイラが存在し、
その対抗策としてこういうマクロを導入するという方法があったという話だろ。
550: (ワッチョイ dff0-POqA) 2023/07/25(火)12:14 ID:YIf2r9Dz0(5/5) AAS
>>547
意味がわからないなら知らなくていい
当時を知らないなら理解しようとするだけ無駄というもの
551
(1): (ワッチョイ 0710-PxlL) 2023/07/25(火)12:24 ID:RkQ0FrMx0(3/5) AAS
>>549
ありがとう、そしてありがとう

>>548
VC6がポンコツは同意。
あのころMSはディンカムウェアからstd c,c++ ライブラリを買って導入してたけど、そもそもc++の仕様準拠がメチャクチャだったと認識してます
もうVC使わなくなって長いので気にしなくなった
552: (ワッチョイ 0710-PxlL) 2023/07/25(火)12:39 ID:RkQ0FrMx0(4/5) AAS
『for内スコープ』の仕様にvc6は未対応だ、という事実を認識し
責任者がvc6を選択した案件で納品する

なら、その条件に従って書く(つまらないつまづきに繋がる書き方を避ける)のが他者に対して親切な技術者だと思うが

「そういう話はマ板で」か
553: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/25(火)12:56 ID:akUn9hsS0(3/6) AAS
>>551
言語仕様が改訂されたんだよ。
C++98 が成立するちょっと前まで for 文の外側のブロックをスコープとするルールで正しかった。
ARM (The Annotated C++ Reference Manual) でも旧ルールで説明されている。

VC の出来が悪かったのは事実だと思うが
スコープルールに関しては互換性を是とするウィンドウズの価値観に合わせて
意図的に変更を遅らせたのだと思う。
554: (ワイーワ2 FF9f-fo+T) 2023/07/25(火)14:00 ID:uSv6E5akF(1) AAS
いと懐かしき
555
(1): (ワッチョイ 8702-Jlgx) 2023/07/25(火)14:23 ID:kV+p+cpE0(1) AAS
Visual C++ 6.0がリリースされたのが1998年じゃん
25年前じゃん。全然最近じゃないじゃん
遠い過去のことをつい最近って話すのはやめてほしいね
556: (ワッチョイ a701-Fb4F) 2023/07/25(火)14:31 ID:MikqYz6X0(1/2) AAS
>>555
だまれ小僧! 最近じゃよ
557: (ワッチョイ df32-8suU) 2023/07/25(火)14:44 ID:vokyohz+0(1) AAS
20年くらいまえのソースコードだったら
読む機会がないわけでもないからなぁ。
最近と言えるかどうかはともかくとして
経緯を知っておくに越したことはない
558: (アウアウウー Sa2b-QKap) 2023/07/25(火)14:44 ID:iTChcdyRa(1) AAS
25年前に30代だった人の多いスレ
559: (ラクッペペ MM8f-pwGU) 2023/07/25(火)14:54 ID:218oSqZIM(1) AAS
現役世代なら25年前なら20代
560
(1): (ワッチョイ a701-Fb4F) 2023/07/25(火)14:55 ID:MikqYz6X0(2/2) AAS
だまれ小僧ども!
561: (ワッチョイ dff0-FYg4) 2023/07/25(火)16:16 ID:uXZxGhnB0(1) AAS
おじいちゃんかな入力使ってそう
562: (ワッチョイ 473e-8suU) 2023/07/25(火)16:50 ID:akUn9hsS0(4/6) AAS
リアルで トントカイモ をやったことある世代だわ……
563
(1): (ワッチョイ 0710-PxlL) 2023/07/25(火)20:33 ID:RkQ0FrMx0(5/5) AAS
>>560
そこは
黙れ小僧、お前にSUNが救えるか!
じゃないの?

sunのccって何だっけ

でも個人的にはc++ユーザなら2014年以降の話をして欲しい
564: (ワッチョイ bf79-mRrB) 2023/07/25(火)21:15 ID:2EbZvvbp0(1) AAS
(昔話うぜー)
565: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/25(火)21:54 ID:akUn9hsS0(5/6) AAS
>>563
古い規格に基づいたコードが消滅しているならそれでもいいけどさ。
566: (ワッチョイ a728-Nt2/) 2023/07/25(火)22:52 ID:ngER/Udx0(2/2) AAS
>>539
アドレスをとったらメモリエリアシング除けで最適化が抑止される
そう思っていた時期が僕にもありました先週
567: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/25(火)23:10 ID:akUn9hsS0(6/6) AAS
アドレスとエイリアスは別枠なんだわ。
ポインタを数値として表示させると同じなのに == で比較すると偽値 (エイリアスではない) ということがあり得る。
pointer provenance の概念について調べてみると面白いかもね。
568
(1): (ラクッペペ MM8f-pwGU) 2023/07/26(水)07:52 ID:Ymbp6+unM(1) AAS
古いコードに執着しはじめるならもういい加減引退した方がいい
569: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/26(水)13:05 ID:Z/zSkMd/0(1/3) AAS
>>568
誰かが書き換えなきゃ新しくはならんのだぞ。
570: (ラクッペペ MM8f-pwGU) 2023/07/26(水)14:04 ID:nSMXTC2xM(1) AAS
まったく無いとは言わないが20年以上も昔のコードを弄る機会って実際どれくらいあるのか
あまりに不毛な主張だろう
571: (ワッチョイ dff0-POqA) 2023/07/26(水)14:22 ID:x/JHBN7Z0(1) AAS
>>129
これが実現出来ればそういう心配事も無くなるんだがな
572: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/26(水)14:24 ID:Z/zSkMd/0(2/3) AAS
ちなみに俺は少なくとも C++11 以降だろ (C++20 は時期尚早かもしれない) 派だし
趣味でプログラミングしているから実務現場はわからない。
でも確実に 20 年前くらいのコードは生きてるよ。
質問サイトで (古いコードの意味について尋ねる質問に対して) 歴史的な事情を説明したことは何度もあるから。
それが割合としてどんくらいかというと確かに少なくはあると思うが……。
573: (ワッチョイ 0710-PxlL) 2023/07/26(水)17:59 ID:EGwoK+U90(1) AAS
11は妥当かも。新しいauto は11から一部、で14で増えた訳よね
C++の仕事で、例えばauto使ったらダメって言われたら、工エエェェ(´д`)ェェエエ工 アンタ達何でCじゃなくてC++使ってるん?てならんか

(マ板的な話でごめんね)
仕事で、Cで未だに99がダメとかいう頭おかしい現場もあり、問い詰めると周辺ツール整備の予算の都合と言い訳される。そういうのを切る政治のために喫煙所活動したり、元社の海外部署の圧を使ったりする

まあでも、自衛隊の武器でもC++あったよ…ただ、武器にはちゃんと使用期限があって。5年とか。継続で使いたい場合には再整備事業が起きる。次の期限いっぱいまで修理可能であるように求められるのね

新規は14以上、保守は11以上、は妥当かもね
574: (テテンテンテン MM8f-TfYz) 2023/07/26(水)20:17 ID:zBy57xkKM(1) AAS
動的に重たい機能(例外とか)を取り除いたembeded c++に再チャレンジしてほしいわ。

c with structure and template くらいの。
575: (ワッチョイ 077c-N/av) 2023/07/26(水)20:27 ID:qeWM+gpE0(1) AAS
また禿に死ぬべきだって言われるだけだぞ
576
(2): (ワッチョイ dff0-FYg4) 2023/07/26(水)20:36 ID:J6WrB9lP0(1) AAS
俺も趣味でしか使ってないけど、OSSのメンテやってる外人がCで書かれたコードのこと
クソの山と呼んでるのを見かけてみんなそう思ってると信じちゃった
577
(1): (ワッチョイ a701-Fb4F) 2023/07/26(水)20:45 ID:T1zuvG990(1/2) AAS
「クソの山」って英語で何ていうの?
578
(1): (ワッチョイ dff0-4APs) 2023/07/26(水)20:47 ID:e36yYIxR0(1) AAS
>>577
stacked shit
ソースはフルメタル・ジャケット
579: (ワッチョイ a701-Fb4F) 2023/07/26(水)21:11 ID:T1zuvG990(2/2) AAS
My intestine is a kind of FIFO.
580: (ワッチョイ 0720-rRCM) 2023/07/26(水)21:14 ID:4fMh7lxL0(1) AAS
bullshit
581: (ワッチョイ 473e-8suU) 2023/07/26(水)21:21 ID:Z/zSkMd/0(3/3) AAS
>>576
現実がクソなんだよ。
それでもコードにしなきゃならないところ(低レイヤとか速度がいるところとか言語を跨ぐインターフェイスとか)でCが使われるから必然的にクソになる。
他の言語で書いたところでたぶんクソだぞ。
582
(1): (オイコラミネオ MM3b-nVDU) 2023/07/26(水)22:07 ID:iOxX8HKcM(1) AAS
自分としては古いC++のコードの方がクソの山に見える
Cはまだまし
583: (ワッチョイ 6701-I2OL) 2023/07/26(水)22:16 ID:jPIzcFjy0(1) AAS
5chからの新しいお知らせは、他の板には出ないんだな
584: (ワッチョイ 67c0-CvEJ) 2023/07/27(木)04:04 ID:QeVlkja60(1) AAS
古い事自体は悪い訳ではないよね
質が低いけど影響範囲が大きくて修正されずに生き延びてる糞コードが悪いだけで
585
(1): (ワッチョイ bf9a-0/k/) 2023/07/27(木)09:00 ID:zEDi2bcm0(1) AAS
>>578
stackだけだと積むというだけで高さはわからないような
they stacked shit that highというのが原文
586: (アウアウウー Sa2b-QKap) 2023/07/27(木)09:00 ID:GoQM94Wca(1/2) AAS
>>582
ほんそれ
+1
587: (ワッチョイ 8702-Jlgx) 2023/07/27(木)09:39 ID:4LOg1fU50(1) AAS
>>576
PythonとかJavaScriptだけの世界に生きてる人たちはC++はクソとか言ってそうな気がする
588: (アウアウウー Sa2b-QKap) 2023/07/27(木)09:49 ID:GoQM94Wca(2/2) AAS
実際C++は糞だと思う
Cの方がマシ
589: (ワッチョイ a701-Fb4F) 2023/07/27(木)10:16 ID:+SEMblDr0(1/3) AAS
VCでビルドしたC++ライブラリって
mingwでビルドしたオブジェクトファイルとリンクできないよね?
Cライブラリだとできるけども
590
(1): (ワッチョイ 0710-IJmj) 2023/07/27(木)10:25 ID:uqLQvp0Q0(1) AAS
c++だとマングリングの規則がコンパイラごとに違うから無理なはず
591: (ワッチョイ a701-JYYx) 2023/07/27(木)10:37 ID:+SEMblDr0(2/3) AAS
>>590
ありがとうございます
592: はちみつ餃子◆8X2XSCHEME (ワッチョイ 473e-pcwf) 2023/07/27(木)11:15 ID:p+3LvAw40(1/2) AAS
COM の規約で運用するという方法もあるけど割とめんどい
593: (ワッチョイ a701-Fb4F) 2023/07/27(木)12:11 ID:+SEMblDr0(3/3) AAS
C++ライブラリとCライブラリの両方があったので
素直にCライブラリの方を使うことにします
594: (アウアウウー Sa2b-4APs) 2023/07/27(木)14:18 ID:SGfMLUd3a(1) AAS
>>585
その原文の訳が「まるでそびえ立つクソだ!」だからhighly stacked shitあたりだろうけど、あれはハートマン軍曹という異常者の語彙だから、多分pile of shitなんかの方が一般的かもね
595: (ワッチョイ 7ffb-p1qB) 2023/07/27(木)21:44 ID:alYzqiaL0(1) AAS
msvcからmingwに移行しようと思い、7zを展開したらディフェンダーちゃんが反応したので何かと思ったら
596: (ワッチョイ 473e-8suU) 2023/07/27(木)22:58 ID:p+3LvAw40(2/2) AAS
実行ファイルを生成するものは割りとひっかかる
597: (アウアウウー Sa2b-QKap) 2023/07/28(金)10:55 ID:Zgvcm9f5a(1) AAS
7zを展開する前にファイルをExoplorerから右クリックで開いて
ディフェンダー無効にしてから展開するだけだろ
598: (スップ Sd7f-HOej) 2023/07/28(金)13:11 ID:6yxKL9JFd(1) AAS
Defenderに無害認定されるまで戦い続けるマ?
599
(1): (ワッチョイ dff0-FYg4) 2023/07/28(金)13:58 ID:AMhr/ZcZ0(1) AAS
どういう設定でコンパイルしたら有害認定されるかむしろ知りたいわ
600: (ワッチョイ 2705-TI2y) 2023/07/28(金)20:53 ID:nOGNEf1T0(1) AAS
oss物は使ってくれるなというms様のお達し?
601: (ワッチョイ a701-Fb4F) 2023/07/28(金)21:03 ID:iCEYdRhP0(1) AAS
wslでLinux飲み込んだのに?
602: (ワッチョイ 473e-8suU) 2023/07/28(金)21:12 ID:yKS6EUDz0(1) AAS
そういや従量課金回線むけに通信量を制限するソフトを入れたら
通信を阻害するマルウェアとして検出されたことがある。
解釈によってはそりゃそうだと思うし、
セキュリティツールは疑陽性が増えてでも偽陰性を
減らす方向に調整するのはしょうがないんじゃねーの
603: (ワッチョイ 8f9c-JfPF) 2023/07/29(土)01:25 ID:eLz5SM1d0(1) AAS
マイクロソフトとしてはストアアプリとして配信して欲しいんだろうね
ZIPなどの野良アプリ配布は不遇の時代よ
604: (ワッチョイ bec3-B8t3) 2023/07/29(土)01:41 ID:mO2Fj1W+0(1) AAS
テレメスパイウェアage
605
(1): (アウアウウー Sa1f-6+wX) 2023/07/30(日)09:49 ID:azQXcNDBa(1) AAS
>>599
コンパイル後のexeがなぜか毎回消える問題は何かのバージョンで過去にあった
606: (ワッチョイ befb-LsOw) 2023/07/30(日)11:40 ID:/52qmc2G0(1) AAS
>>605
恥ずかしがり屋め//
1-
あと 396 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s