[過去ログ] FreeBSDを語れ Part49 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
120: 2019/09/13(金)11:51 AAS
 >>119 
 で型を間違えて大惨事と 
 NULLは0だ、intは4バイトだという老害が多いんですよまだまだ 
121: 2019/09/13(金)12:05 AAS
 mallocで管理されるsizeはバイト単位やろ 
 wchar_t が 32bit とか言う話か? 
122: 2019/09/13(金)12:23 AAS
 >>119 
 実装を規定するとか最悪やん 
 やるなら確保した領域サイズを取得する関数を規定すべき 
123(1): 2019/09/13(金)12:29 AAS
 >>101 
 碌にテストなんてやったことないというのがバレバレだなw 
124(2): 2019/09/13(金)12:35 AAS
 無駄なチェックを端折れて高速な処理を書けるからC使ってるのに、 
 遅い堅牢ならライブラリをC、C++に用意しろと言うような低レベルPGなら元からC、C++使うなってことだな。 
125: 2019/09/13(金)13:48 AAS
 今現在堅牢な高級言語は生き残ってるか? 
126(1): 2019/09/13(金)14:06 AAS
 堅牢な高級言語しか生き残ってないだろw 
 アドレスを直接扱える危険な言語って 
 たくさんの言語のなかどの程度あると思う? 
127: 2019/09/13(金)14:10 AAS
 >>123 
 へー、すごいねー 
 で、お前ん所のテスト密度っていくらぐらいなんだ?w 
128: 2019/09/13(金)14:20 AAS
 >>126 
 Cは元々アセンブラの代替として作ったものだからポインタが扱えて当たり前ですよ。 
 C = 高級アセンブラだから。それが嫌な人はFortranでも使っとけということで。 
129: 2019/09/13(金)14:28 AAS
 >>124 
 ならCじゃなくてアセンブラ使ってろよ 
130(1): 2019/09/13(金)17:39 AAS
 >>124 
 ほんそれ 
  
 関数入るたびに境界チェックするコードとか入れてたらCの有難味がないな 
131(1): 2019/09/13(金)19:10 AAS
 OpenBSDのportsに入ってたパッチw 
  
 --- texk/dvipsk/writet1.c.orig 
 +++ texk/dvipsk/writet1.c 
 @@ -1449,7 +1449,9 @@ static void t1_check_unusual_charstring(void) 
          *(strend(t1_buf_array) - 1) = ' '; 
   
          t1_getline(); 
 +        alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); 
          strcat(t1_buf_array, t1_line_array); 
 +        alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); 
          strcpy(t1_line_array, t1_buf_array); 
          t1_line_ptr = eol(t1_line_array); 
      } 
132: 2019/09/13(金)19:11 AAS
 >>131 
 ごめんなさい。 
  
 全然違うサイトに誤爆です。 
133(3): 2019/09/13(金)19:57 AAS
 >>130 
 Cなら 
 if  ( checkfunc( func ) ) ... 
 と1行で書けるから大したことなさそうに見えるけど、これをアセンブラで書くと、 
 汎用レジスタ全部退避して、戻りアドレス設定して、新しいスタックポインタ設定して、 
 チェック処理を実行して、戻る直前に汎用レジスタ全部戻してリターンするので、 
 毎回こんだけの処理させてわざわざ遅くするのが嫌になるんだよね。 
 全レジスタの退避と復帰を毎回実行させるのってほんとに無駄に感じる。 
 本当は、破壊されてもいいレジスタは関数ごとに異なるはずなので、破壊されて困るレジスタだけ退避 
 するようにすれば最適化されていいんだけど、そうするとどこかを書き換えたとき、元に戻さないといけない 
 レジスタができて、それの退避を忘れただけで吹っ飛ぶ。 
134(1): 2019/09/13(金)20:16 AAS
 >>133 
 三行にまとめてくんないと、1ミリも理解できないんだけど 
135: 2019/09/13(金)20:29 AAS
 素敵なコンパイラなら4行くらいにまとめてくれないかな.... 
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は実際には見えてる以上にレジスタを持ってるから毎回律儀にメモリに退避とかしてないよ 
上下前次1-新書関写板覧索設栞歴
あと 853 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s