プログラムの世界にも流派を作るべきじゃないか?

2023/01/18(水) 15:30:34.99
結局なんでローカル変数にしてはいけないんですか?
148仕様書無しさん
垢版 |
2023/01/18(水) 18:39:33.98
>>147
最近のCコンパイラはもしかしたらセキュリティ対策とかで
状況が変わってるのかもしれんけど、一昔前はローカル変数は
「スタック」というメモリ領域に確保していたんだ。
でもこのスタックという領域は、どれぐらいのサイズなのかは
わからないもんだから、下手に構造体や配列に使うと、サイズをオーバーして
アプリが突然落っこちる恐れがある。

それと、関数を呼ぶと、戻ってくるときのアドレスなんてのも
このスタックに持っているもんだから、不正なデータを送り込んで、戻りアドレスを書き換え 
root権限を奪うなどの手口にも利用されたんだ。

スタックとか戻りアドレスなんてのは、マシン語からくる概念だから、
それでpush、popと言ってはみたが、わかってるやつ、この板にドンだけいるんだろ?
2023/01/18(水) 20:14:02.15
>>148
理解しました。スタックに置くなと言ってほしかったです。たとえばstatic付けてもそれがローカル変数であることは変わらないので。
150仕様書無しさん
垢版 |
2023/01/18(水) 20:34:30.94
>>149
まあ、そうだね。
とは言っても、どう書けばスタックに置かなくなるのかは
それはそれでCをちゃんとわかってないとね。

で、Javaになると、配列やクラスは自動的に
ポインタで定義するようになってnewをする必要があるという仕様に
なったんだったな。
もちろんCの場合、newしたらちゃんとdeleteしないといけない。
2023/01/18(水) 21:11:20.38
変数とかスタックに決め打ちで配置してるから
スタックに配列を置くと動かしづらいしサイズ変えられないし邪魔すぎる
2023/01/18(水) 21:47:22.38
ローカル変数を使うのはプログラムを書く人のためだよ
プログラムが大きくなってくると
新しい変数名を考えるのが大変になるし
うっかり名前が衝突すると大変なことになる
部分部分で変数を使い捨てにすれば
そういう問題は起きない
2023/01/18(水) 21:54:47.12
暗証番号とはパスワードとかむしろ固定領域に書き出すよりはマシじゃね?
154仕様書無しさん
垢版 |
2023/02/10(金) 18:32:43.71
【追記】
NULLは使うな、今はnullptrがある。
2023/02/10(金) 18:50:49.03
このレベルの指摘ならIDEのリファクタ機能で一括修正できるな
2023/02/10(金) 18:52:15.66
そもそもC++のNULLマクロ自体が驚くほどレガシーなんだよな
Nullポインタ代入するのに=0できちゃうって他言語から見ると相当アレ
157仕様書無しさん
垢版 |
2023/02/10(金) 19:14:46.13
C++の予約語のネーミングセンスがダサいと感じるのって俺だけ?
static_castとかnullptrとかnullptr_tとか
2023/03/25(土) 09:57:03.20
>>157
何が気に入らないんだよ
全部小文字である程度簡潔にまとめてんだよ
文句があるならもっと合理的な判断の産物とやらを披露してみろ
2023/03/25(土) 10:00:37.21
>>148
俺もCから入ってある程度アセンブラやコンパイラのことも知ってるが
ヒープやマシンスタックの使われ方を概念的に理解すれば充分だろ
何でマシン語分からないと理解できないと思ってる老人がいるのか昔から謎だわ
2023/03/25(土) 10:46:20.20
>>159
これ。実際に関連があるとはいえ文法と実装を分けて考えられない人が多い。
2023/03/25(土) 10:52:26.48
CPUの基本的な仕様として、知ってて当然だろ
2023/03/25(土) 13:27:22.31
いまどき最適化しちゃうから、書いたコードから動いてるマシン語が想像出来るなんて嘘つくなよw
2023/03/25(土) 13:45:31.93
最適化が本当に効いていれば
それこそ、最初からアセンブリ言語で書いたかのようにシンプルになる
昔のコンパイラだと結構歯がゆい処理になってた
164仕様書無しさん
垢版 |
2023/04/01(土) 12:29:49.25
インテルのCPUだと、最適化してもゴチャゴチャしてそうだな。
8086の頃よりは、レジスタなども大幅に増えたことだし。
2023/04/01(土) 12:40:54.27
無能readableに最適化すりゃシンプルかもしれんが、
prosessorの拡張命令や投機実行に最適化されたアセンブラは
人の手には負えんよ。
2023/04/01(土) 12:45:29.40
ICCなんて勝手にマルチスレッドにしちゃうしなw
2023/04/03(月) 21:15:10.22
自社開発企業は縁故採用の人がクソ多いな
168仕様書無しさん
垢版 |
2023/10/15(日) 10:13:08.22
もっとシンプルにコメント書く派、書かない派でいいと思う
2023/11/29(水) 05:10:51.84
寒色インコ流競プロ術:ググりますw
2024/01/23(火) 00:44:48.81
寸止めとか
フルコンタクトとかw
171仕様書無しさん
垢版 |
2024/03/29(金) 13:40:52.82
屈辱すぎる
乗ってた人数も少ないし
172仕様書無しさん
垢版 |
2024/03/29(金) 15:10:47.50
一方アレはただの趣味をおっさんにJKに装着させる
173仕様書無しさん
垢版 |
2024/03/29(金) 15:16:48.10
先制されて役割を終えただけだろう
174仕様書無しさん
垢版 |
2024/03/29(金) 16:03:27.61
下痢ぞーはその話題出さなくていいよ草
2024/03/29(金) 16:12:04.05
肌が強いんだとそういうのはアホな自惚れ屋が統一の被害者続出していたという証言がある
出勤する程度なら耐えれるが
しかも五輪直後のアイスショーガラガラだったしな
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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