Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (7)

タグの絞り込みを解除

gccとmemoryに関するraimon49のブックマーク (2)

  • トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備

    LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイルや実行は問題にならない。つまり、C11準拠のコンパイラーでも、C89で記述されたレガシーなコードによって問題が引き起こされることはないはずだ。 Torvalds氏

    トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
    • C言語で配列の要素数を安全に数える話

      C言語で配列の要素数を数えるイディオムってのがあって、 sizeof(array) / sizeof(array)なんだけど、配列名が長くなって、たとえば sizeof(var.that_has_an_array.as_a.member) / sizeof(var.that_has_an_array.as_a.member[0])とかになるとカオス。 なので、ベンダーによっては、 #define _countof(array) (sizeof(array) / sizeof(array[0]))みたいなマクロを提供していたりするんだけど、こうやって、何も考えずに使えるようにしていくと、配列ではなくポインタを引数に渡しちゃって、サイズ計算ミスって変な動作する懸念が増してくる。 なので、Twitterで C言語で、ある値がポインタなのか配列なのかを知る方法ってあるのかなぁ(gcc/clang拡

      • 残りのブックマークを読み込んでいます1

      お知らせ

      公式Twitter

      • @HatenaBookmark

        リリース、障害情報などのサービスのお知らせ

      • @hatebu

        最新の人気エントリーの配信

      処理を実行中です

      キーボードショートカット一覧

      j次のブックマーク

      k前のブックマーク

      lあとで読む

      eコメント一覧を開く

      oページを開く

      はてなブックマーク

      公式Twitter

      はてなのサービス

      • App Storeからダウンロード
      • Google Playで手に入れよう
      Copyright © 2005-2025Hatena. All Rights Reserved.
      設定を変更しましたx

      [8]ページ先頭

      ©2009-2025 Movatter.jp