アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
自己チェック機能のコスト (スコア:1)
ありそうなものですが、どの程度影響があるものなんでしょ。
リンク先を読むと実行速度の低下に対しての取り組みは行っているという記述がありますが、
サイズはどうなるのやら。
Re:自己チェック機能のコスト (スコア:1, 参考になる)
処理速度に関しては上記を参照。
Re:自己チェック機能のコスト (スコア:1)
を排除してアセンブラに近い効率を追求したプロ中のプロ向けの言語がC言語でしょ。
コンセプトが間違ってる。ウィザードを量産する方法を考えるべきだ。
# ANSIには当初賛同したが今は嫌いだ。Cの美しさを損なった。
Re:自己チェック機能のコスト (スコア:3, おもしろおかしい)
> を排除してアセンブラに近い効率を追求したプロ中のプロ向けの言語がC言語でしょ。
根性なしなプログラマ向けの高級アセンブラだと思ってましたが。
Re: (スコア:0)
何もエラーもワーニングも起こらないソースコードになったら、性能がよいコンパイラで
再度コンパイルし直して、そのコードで結合試験と総合試験すればいいのではないのか?
そうすれば最終的には安全かつ性能がよいものとなるんじゃないのでしょうかね?
ようはこのコンパイラは、安全なコードを書いてチェックするためのデバックor試験用
とだけ思えば・・・・
どうなんだろうか?
Re:自己チェック機能のコスト (スコア:3, 参考になる)
実装は、データにタグをつけて動的型チェックやレンジチェックをやります。
基本データ型やポインタが2ワードになるのが遅くなる原因の一つ。
unsigned int *p = malloc(10); /* pの内部表現は、ポインタ値と、char *型を示すタグの2ワード */
int n = (int)p;
(int *)n = -1; /* ここで実行時にエラーが出る */
(unsigned int *)n = 1; /* こちらは大丈夫 */
上記の例だと、静的な解析でエラーチェックができるけど、かならずしもそういう場合ばかりではないからね。
;; 今ごろプレスリリースかー
Re: (スコア:0)
これで範囲チェックや安全なポインタ演算を実現している、のはず。
タイプセーフなリンク機構の発表もあったけど、詳細は忘れてしまった。
Re: (スコア:0)
でも、多くの処理系やプラットフォームに存在する「リリースビルド」「-DNDEBUG」なんてのは、まさにそれなわけで。
Re: (スコア:0)
適切な対処が求められます。
>> (int *)n = -1; /* ここで実行時にエラーが出る */
これはエラー処理を書くのがつらそうですね
Re: (スコア:0)
というか、うちの会社では、現状このやり方だったりします。