[過去ログ] FreeBSDを語れ Part49 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
136(1): 2019/09/13(金)21:01 AAS
>>134
理解しなくていいよ。
x86系の知識だけで、とりあえず知ってるワードでマウント取ろうとしてるだけだから。
137(1): 2019/09/13(金)21:21 AAS
確かMS-C6.0の頃か?(うろ覚え)破壊しないレジスタは退避しなかった筈だが?w
十数年前からメジャーどこのコンパイラは短い関数なら勝手にインライン展開するのが殆どだし
いつの時代の話をしてるんだかさっぱり
138: 2019/09/13(金)21:24 AAS
流し読みで読み飛ばしちまったけんども
アセンブラでプロシージャ書いたとこでコーダーがスタックポインタを設定する事なんて先ずありえんwww
139: 2019/09/13(金)21:28 AAS
>>137
俺も最初そう思って ??? 状態だったけど、よく読んだらアセンブラで書いた時の話みたい
アセンブラで書く時に全レジスタ保存なんてよほど間抜けでないと普通しないけどな
140: 2019/09/13(金)22:25 AAS
知的障害者きてんね
141: 2019/09/13(金)22:35 AAS
支離滅裂さからは糖質の臭いがする
142(1): 2019/09/13(金)22:52 AAS
>>136
俺は一桁ロリに mount -f したい
143: 2019/09/13(金)22:57 AAS
さすがに一桁はないわ
144: 2019/09/14(土)00:36 AAS
>>119
それはC++の場合だな
Cではそんなことする処理系が無い
145(1): 2019/09/14(土)00:41 AAS
ちなみにC++では配列の各要素に対してデストラクタを呼ばなくちゃいけない都合上サイズが格納されている
146: 2019/09/14(土)05:03 AAS
>>142
おまわりさんこの人
147: 2019/09/14(土)05:13 AAS
童貞です
148: 2019/09/14(土)06:22 AAS
www
149: 2019/09/14(土)10:12 AAS
>>133
レジスタ退避と復帰は専用の命令が有るけど、CPUは実際には見えてる以上にレジスタを持ってるから毎回律儀にメモリに退避とかしてないよ
150: 2019/09/14(土)10:53 AAS
2chスレ:linux
286
俺はもうWindowsでVirtualBoxは諦めてるんだが、
FreeBSDとかSolarisとかどうしてもVirtualBoxでしか動かせなくて
必要なときはMacを使ってる。
FreeBSDとかSolarisがHyperVでも動かせるなら良いんだけど
どうもうまく行かない。
151(2): 2019/09/14(土)11:01 AAS
>>145
delete [] hoge;
のときですね
良く [] 付け忘れるので防止策教えてくだされ
152(2): 2019/09/14(土)13:04 AAS
>>133は、アセンブラでコード書いてると自然にそうなるってこと。
ルーチン内ではできるだけ汎用レジスタを使って処理したほうが早くなるから、最初にメモリから必要なデータを持ってきた後は
極力レジスタだけで処理するように書く。後からその処理の途中に別の処理を入れることになって、別の関数を挟んだとすると
レジスタの値を変えてはいけないから、その関数に入ったところで全レジスタを待避し、関数の終わりで戻さないといけなくなる。
Cで同じことをしてアセンブラに展開したコードを見ると、変数の値はメモリに置いておき、必要になったらレジスタにロードして
計算したら結果をまたメモリに戻すという処理をしている。後から途中に関数が追加されても、その関数はメモリから値を
持ってきて処理するからレジスタを退避する必要はない。関数に渡すパラメータなどもスタックに入れて渡すから
同じくレジスタを退避しなくて良い。
しかしこのやり方ではメモリとレジスタ間のセーブ/ロードが頻繁に起こるので、アセンブラのソースで見るといかにも効率が悪くて
遅いとわかる。当たり前だがメモリ - レジスタ間のセーブ/ロードはレジスタ内だけの演算よりずっと遅い。
そうするくらいなら、必要なときだけレジスタを退避・復帰させた方がまし。さらに、これがforなどのループ内で使われた場合、
この遅さがプログラム全体の遅さになる。Cコンパイラのコード生成は、アセンブラから見れば遅くて無駄だらけに見える。
その分、ソースが見やすいから便利なんだけれども。
153: 2019/09/14(土)13:06 AAS
>>151
今から作るならnew/deleteなんてやめてvectorとかにしなよ
deleteの[ ]付け忘れるような人は例外時の解放忘れとかもしそうだし
154(1): 2019/09/14(土)13:08 AAS
>>152
頼むから今時のまともなコンパイラ使ってから語ってくれ…
155: 2019/09/14(土)13:14 AAS
問題はコンパイラじゃなくて変態的な処理になってしまったx86系CPUのコード処理の方だと思われ
もはやアセンブラ最適化とか狂気の沙汰と聞いた
あー、スモールでコード書いてた頃が懐かしい
156: 2019/09/14(土)13:40 AAS
>>151
valgrindを使えば実行時にエラーを検出して実行終了時にエラーを出力してくれる
つうかCやC++でコーディングする場合はvalgrindは必須だな
実行する環境によっては使えないかもしれんけど、他には静的解析ツールを使うという手もある
例えばcppcheckとか使うと実行する前に間違いを指摘してくれる
157: 2019/09/14(土)13:48 AAS
FreeBSDを12.0にアップグレードしたらvalgrindがメモリ関係のエラーを検出しなくなった(泣)
その上システムコールに対するサポートも不完全みたいで、エラーが出るし
だれかfreebsd-portsのvalgrindを更新プリーズ…
158(2): 2019/09/14(土)13:51 AAS
和訳せよ
Send FreeBSD to the great bitbucket in the sky.
159(1): 2019/09/14(土)13:57 AAS
to be to be ten made to be
160: 2019/09/14(土)13:59 AAS
>>158
FreeBSDを空の素晴らしいbitbucketに送ってください。
>>159
十歳になる
161: 2019/09/14(土)18:38 AAS
>>152
今北産業
162: 2019/09/14(土)19:30 AAS
これでも読んだほうがいいんじゃね?
外部リンク:gihyo.jp
163(1): 2019/09/15(日)08:08 AAS
86系にうんざりして68系に目覚めた遠いあの日の思い出
164: 2019/09/15(日)08:39 AAS
>>163
セグメント内64kB、相対ジャンプが8bit…
うんざりって言うより殺意を覚えたあの頃
165(5): 2019/09/15(日)10:21 AAS
些細なことは気にすんな
プロテクトモード遷移でいちいち再起動の方が糞
上下前次1-新書関写板覧索設栞歴
あと 837 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.022s