タグ

C言語に関するgam-22のブックマーク (7)

  • Rust (プログラミング言語) - Wikipedia

    Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計されたマルチパラダイムのプログラミング言語である。C言語、C++に代わるシステムプログラミング言語を目指しており[2]、構文的にはC++に似ているが[3]、「ボローチェッカー」(borrow checker) で参照の有効性を検証することによってメモリ安全性を保証できる。Rustはガベージコレクションなしでのメモリ安全性を達成しており、必要な場面で参照カウントを使うこともできる[4][5] 。 Rustプロジェクトはオープンソースのコミュニティベース開発で進行しており[6]、言語仕様(検討段階含む)、ソースコード、ドキュメントはオープンソースライセンスで公開されている[7]。2006年の開発初期は、Mozillaの従業員のグレイドン・ホアレ(Graydon Hoare)[8]の個人プロジェクトだったが、2009年にMozi

    Rust (プログラミング言語) - Wikipedia
    gam-22
    gam-22 2013/12/12
    #tsukubarb
  • C言語の正しいヘッダファイルの書き方 - saito’s blog

    最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの書き方が分かっていないと思われる箇所が多々見られました。 実際、C言語の入門書でもヘッダファイルの書き方を詳しく説明しているものは、僕の知っている限りでは存在しないので、C言語を使っていてもヘッダファイルの正しい書き方を知らない人が少なくないのではないかと思われます。 そこで、このエントリでは、C言語のヘッダファイルの書き方について、僕が知っているテクニックをまとめてみました。 インクルードガードを書く ヘッダファイルファイルで他のヘッダファイルをインクルードしていると、いつの間にか同じヘッダファイルを2回インクルードしてしまうことがあります。 例

    C言語の正しいヘッダファイルの書き方 - saito’s blog
  • オリジン - Wikipedia

    オリジン(英: origin)とは、原点のことで、主に0オリジンと1オリジンが存在する。0オリジンのものは0から数え始め、1オリジンのものは1から数え始める。なお、0オリジンや1オリジンは和製英語で、英語ではzero-basedやone-basedなどという。 複数のオリジンが混在する身近な例として、日時があげられる。年・月・日は1オリジン(数え初めが1年1月1日)であるが、時・分・秒は0オリジン(0時0分0秒)である。時については0時のことを12時ということもあるため紛らわしいが、0時が午前と午後の境であるために0オリジンであるといえる。ただし、期間を表す場合はすべて0オリジンとなる。 世紀の数え方は1オリジンと考えられる。つまり、紀元1年は1世紀であり、0年や0世紀は存在しない(紀元前1年の直後は紀元1年となる)。ただし天文学的紀年法では0オリジンで年を数える。 また、年齢の数え方とし

    gam-22
    gam-22 2013/10/06
    なんだってー “ちなみに0オリジンと1オリジンは和製英語で、英語ではzero-basedとone-basedなどという。”
  • 2進数リテラルが欲しいときのまとめ - nyanp::blog

    たとえば組み込みで,2進数っぽい文法で数値を扱いたいときがある.ドットマトリクスに顔文字アイコンを表示させるときに set_icon_data( 0x0a, // 1 1 0x0a, // 1 1 0x00, // 0x11, // 1 1 0x0e // 111 ); みたいにベタ書きなのはあまりにも悲しい.顔文字をコードで直接記述したい!でもC/C++は2進表記を直接サポートしない.じゃあどうするか. コンパイラの拡張構文を使う コンパイラによっては"0b00100000"みたいなリテラルで2進数を扱える場合もある.4.3以降のgccでもそう. set_icon_data( 0b01010, 0b01010, 0b00000, 0b10001, 0b01110 ); マクロでbinary literal風事前定義 2進数表記のようなマクロを事前に定義しておく.数が多いなら機械的に生成し

    2進数リテラルが欲しいときのまとめ - nyanp::blog
  • コラム:C言語の聖書? K&R

    C言語を志す人ならば、おそらく、K&Rという書籍の名前を聞いたことがあるでしょう。 K&Rとは、世界初のまともなC言語の解説書であり、しかもこのは、 C言語の開発者自身が執筆していたこともあり、世界中で大ヒットします。 K&Rは、コンピュータ業界最大のベストセラーとも言われます。 この、なかなかC言語の細かい部分まで説明してあり、 当時は、C言語のマトモな規格なんてものはなかったので、 このK&Rを元にしてC言語のコンパイラが作られていたほどです。 しかし、筆者は、皆さんがK&Rを読むことはお勧めしません。 というか、むしろ、読んではいけません。 1つ目の理由は、、説明がわかりにくすぎることがその理由です。 このを読むには、C言語をかなり知っていないと読めないと思います。 そもそも、書籍自体、初心者が読むことは考えられていないようです。 2つ目の理由は、サンプ

    gam-22
    gam-22 2013/08/19
    "皆さんがK&Rを読むことはお勧めしません。 というか、むしろ、読んではいけません。"
  • Duff's device - Wikipedia

    Duff's Device(ダフスデバイス)とは、C言語での可変長の連続的コピーをループ展開により最適化実装するときに直面する端数の問題を解決するための手法である。 C言語のswitch-case文が持つフォールスルーを利用して、アセンブリ言語で行われる技巧をC言語で実現している。1983年11月、ルーカスフィルムで働いていたトム・ダフが発見した。 背景問題[編集] ループ展開は、ループのための分岐回数を減らす技法である。指定されるループ回数が不明な場合、ループ展開すると回数が合わない場合が出てくるので、ループの途中にジャンプすることで調整する。例えば、8回ぶんのループを展開した場合、指定されたループ回数が8で割り切れないなら、その回数を8で割った剰余のぶんだけ処理を実行する位置にジャンプさせる。 ダフはそのような最適化を検討していてCでの技法を発見した。 来のバージョン[編集] 連続コ

    gam-22
    gam-22 2013/06/06
    C言語自由すぎわろた
  • はてなブログ | 無料ブログを作成しよう

    日記_2024.8.29 鞍馬と貴船 29日は鞍馬と貴船に行ってきました。こんな天気でバイクは無理、でも引きこもるのも嫌なので前々から行きたかった鞍馬と貴船に行くことにしました。ただ、いつ大雨が降っても全くおかしくないので天気がヤバそうなら帰ることにします。普通に日帰りできる距離ですから…

    はてなブログ | 無料ブログを作成しよう
    gam-22
    gam-22 2013/01/11
    "マイコンとかの組み込み用途とか、たとえば学校の授業でネットワークプログラミングをCで始めたばっかりの学生とかがちゃらっと使えるようなものが欲しい"
  • 1