タグ

2013年5月10日のブックマーク (2件)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    kat0usi
    kat0usi 2013/05/10
  • restrictキーワード(ポインタの曖昧性除去)

    キーワード ポインタ, 最適化 これだけは覚えよう 同じ空間を指すポインタをエイリアスと言う エイリアスはない方がいい (同じ空間を指すポインタをなくす) エイリアスって? エイリアス(alias)を辞書で引くと、「別名」と出てきます。 我々が使っているプロセッサは、値を操作するときにはレジスタを使用します(Load/Store architecture)。そのため、C言語やJavaのような高級言語を処理する言語処理系(コンパイラ+リンカ)は、変数に対してレジスタを割り付ける作業を行います。例えば、i = j + kという式がある場合、i→R0, j→R1, k→R2を割り付け、「R1←j (R1にjの内容をロード)」「R2←k (R2にkの内容をロード)」「R0←R1+R2 (R1+R2を計算しR0に結果を出す)」「i←R0 (R0の内容をiに格納)」といったコードを実行します。変数名に

    kat0usi
    kat0usi 2013/05/10
    コンパ イラオプションの場合、すべてのコードが対象になるため、コード中のすべての エイリアスを除去しないと使用できません。一方、restrictはエイリアスの存在 を引数毎にコンパイラに教えることができます。