タグ

C言語に関するfjwr38のブックマーク (38)

  • 今、Cで開発するためのスタンダードを知るための本 - L'eclat des jours(2013-09-30)

    _ 今、Cで開発するためのスタンダードを知るための 例によってアスキーの鈴木さんから、をもらった。花井さんのモダンC言語プログラミングだ。なお、似たような題の洋書があって、しかも花井さんは翻訳もするので、そのの翻訳書と勘違いされる可能性もありそうだが、完全にオリジナルだ。 Cは、Unixと共に(というか少し遅れて)生まれたということは、すでに40年以上の歴史があり、それだけの年月がたてば、COBOLなどと同じく老害言語と言われてもこれっぽっちもおかしくはない。 ところが、COBOLと異なり開発者市場がどんどん先細り(あるいは固定化)されるということはなく、むしろ増えている。それどころか最近の調査では最も利用されている(TIOBE 2013)。 一方、C++が先鞭をつけたビジネスプログラミングへのオブジェクト指向プログラミングの適用は、Java、Objective-C、C#と種類を増や

  • Amazon.co.jp: C言語によるオブジェクト指向プログラミング入門: 坂井弘亮: 本

    Amazon.co.jp: C言語によるオブジェクト指向プログラミング入門: 坂井弘亮: 本
  • 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
  • Cのポインタで躓く人が多いが、Javaの参照で躓く人が少ない理由

    C言語の学習において、ポインタはよく躓くポイントとして知られています。「Javaにポインタはない」などと表現されることがありますが、実際にポインタは存在します。 NullPointerExceptionという例外が存在することからもこれは窺えるのですが、 C言語のポインタとはちょっと違っており、名前も「参照」と改められています。 C言語のポインタが果たす3つの役割 C言語ではポインタには3つの役割がありました。 変数や構造体を指し示すもの 配列を表現するもの 関数を指し示すもの これらが渾然一体となって、コンピュータの低レベルな「アドレス」という値になって扱われるのです。これがC言語でポインタを理解することを難しくしているのではないでしょうか。 Javaではどのように置き換えるのか? Javaではこれらの3つの機能は明確に分離されています。 まず、変数や構造体を「指し示すもの」としては「参

  • jpn.ph

    This domain may be for sale!

  • C言語は今でも価値のある言語か?

    Couchbaseの作者Damien Katz氏は,C言語はバックエンドプログラミングにおいて現在でも優れた言語である,という意見を持っている。しかし他の開発者は,C言語はあまりにも欠陥が多いとしてC++Javaを支持するもの,あるいはいずれも好まないというものなどさまざまだ。 CouchDB の開発者であるDamien Katz氏は,The Unreasonable Effectiveness of C と題した先日のブログ記事において,C言語がバックエンドのための優れた言語であると断言した。氏はC++Java,さらにはErlangやRubyのようなより現代的な言語よりも,今後もC言語を支持していくつもりだという。ただし単純に,C言語を他のどれよりも優れた言語だと言っている訳ではない。"言語自体のパフォーマンスと信頼性が重視される場面においては,C言語に比類する言語は皆無である",別

    C言語は今でも価値のある言語か?
    fjwr38
    fjwr38 2013/01/28
    "OSSプロダクト作る時には"という枕言葉つきだな
  • UNIX/Linux/C言語 サンプル多く説明少なく -PG's PocketArms

    当サイトは、UNIX/Linuxにてよく使用されるコマンド/ツールの使用例や言語の入門やコード事例を掲載しております。 深い理解は求めずに、手っ取り早く使えるように、使用例(サンプル)を中心にしています。 情報の正確さには注意を払っておりますが、誤りや適切でない記述を掲載してしまうかもしれません。 当サイトの情報をご利用いただく際は、どうか、ご自身で十分検証を行ってください。 なお、当サイトのをご利用になられて発生した損害については、当方は一切責任を負いかねますので、あらかじめご了承願います。 また、掲載内容についてのご質問はご遠慮願います。

  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • TAILQ のソースを読んで C のポインタをマスターする。 - こせきの技術日記

    正月は TAILQ のソースを読んでいた。普段 C を読み書きしないので、とても勉強になった。ポインタの使い方がわかった(ような気持ちになれた)。 TAILQって? TAILQ は C のマクロで書かれた双方向リンクリストの実装。 連結リスト - Wikipedia BSD、OSX や glibc に含まれている。 http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/sys/queue.h.html http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=misc/sys/queue.h;hb=HEAD 基的な使い方は以下のページが参考になった。 Tail queue(TAILQ) C言語系/「デーモン君のソース探検」読書メモ/14, man.conf - Glamenv-S

    TAILQ のソースを読んで C のポインタをマスターする。 - こせきの技術日記
  • C言語のポインタはメモリを想像できれば理解できる | 100% Pure NEET

    最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ

  • Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。

    前回は JSMN というのを試したけど、今度も matsuu さんのブクマから。。。 parson Lightweight json parser and reader written in C. http://kgabis.github.com/parson/ 特徴は 軽い (2ファイルだけ) 単純なAPI ドット記法による json 値のアドレッシング (C言語の構造体やOO言語のオブジェクトに似た感じ。例: "objectA.objectB.value") C89 コンパティブル テストスーツ 前回の JSMN とは違い、メモリを動的に確保するタイプ。DOM の様にルートノードから探索を始め、最終的にルートノードを指定してメモリを開放する。 今回もtwitterのタイムラインをパースしよう。 #include <assert.h> #include <string.h> #inclu

    Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。
  • 404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由

    2006年11月28日12:15 カテゴリLightweight LanguagesOpen Source プログラマがC言語を学ぶべきたった一つの理由 あれ?一番大事な奴が抜けている。 The C Programmming Lanugage K&R Geekなぺーじ:プログラマがC言語を学ぶべき10の理由 「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。 [中略] ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。 0) So you can write your programming

    404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由
  • ポインターについて理解を深めよう

    値渡しと参照渡し 関数へオブジェクトを渡す方法には、値渡しと参照渡しの2種類があります。値渡しは、オブジェクトの値が複製(コピー)され関数へ渡されます。プログラミング言語Cにおける関数呼び出しではすべて値渡しになります。なお、ポインターを渡すことでオブジェクトの参照を渡すことができるため、参照渡しとほぼ同じことが実現できます。 それぞれの渡し方による関数呼び出しの方法を説明する前に、値のコピーについて少し詳しくみてみましょう。Cにおける値渡しでは、実引数(関数呼び出しの引数)の値が仮引数(関数宣言の引数)に代入されます。 はじめに、int型のオブジェクトaとbを定義してみます。

    ポインターについて理解を深めよう
  • 引数による情報の受け渡し

    <戻る  目次  進む> 第1項:ポインタ型の引数 第2項:配列型の引数 第3項:配列型引数の奇妙な性質 第4項:アドレスを渡している [1]ポインタ型の引数 第11章では、自作関数の使い方と作り方を説明しましたが、 ここでは、関数から情報を返す方法として、戻り値を使った方法を説明しました。 戻り値を使って情報を返すのが、最も簡単な方法であることは間違いありませんが、 この方法では、常に1つの情報しか返すことが出来ません。 2つ以上の情報を返したい時などは不便です。 そのような場合には、ポインタ型の引数を使って情報を返すことが出来ます。 ポインタ型の引数と言っても、別段特別なことではありません。 単に、引数の型がポインタ型であるだけで、普通の引数となんら変わりません。 C言語では、関数へ情報を渡す場合、必ず元の変数の値のコピーを渡します。 この様な方法を値渡しと呼び、元の

    fjwr38
    fjwr38 2012/09/19
    仮引数におけるポインタの受け渡し
  • 2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵

    12ステップで作る組込みOS自作入門 出版社 : カットシステム (2010/05) 発行日 : 2010/05 前回の初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵は汎用OSでしたが今度は組込みOSです。参考書は『12ステップで作る組込みOS自作入門 』です。こいつぁすげえや。丁寧に仕上げられた良書でした。 「組込み」とタイトルがついているので興味を示す層が狭そうですが、プログラムを書く多くの人にとって役立つ内容だったと思います。 前回は必死にわかんないーわかんないーを連呼しつつ頭を抱えて苦行みたいな感覚でやっちゃいましたけど、今回はそんな苦労もあったからか余裕を持って楽しめました。 書ではWindowsだけではなくLinuxでも開発できるよう解説されているのでどんな環境でも問題ありません。Linux入れるのがめんどくさかった私は例によって

    2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵
  • 初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵

    30日でできる! OS自作入門 出版社 : 毎日コミュニケーションズ 発行日 : 2006/3/1 良いです。アカデミックの匂いが良い意味で全くしない。その上での実践的なは日語で他に無いと思います。ガチムチアカデミックの批判にあえて真っ向勝負してるような意欲作です。 正しい知識だの用語だのそんなもんはどうでもいいから手を動かしてやってまえみたいな感じで。こういうのは頭いい人たちから批判されやすいですね。俗物な私にはぴったりでしたが。 書はWindows用のサンプルしかないんですがMac用に整えたので、それ公開するついでに思ったことつらつらと書いときます。 開発環境 Mac サンプルがWindows用なのでいろいろMac仕様にしなきゃいけない(後述) テキストエディタ EmacsだのVimだのなんでもいいので適当に用意 バイナリエディタ Macだと0xEDが良い http://www

    初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵
    fjwr38
    fjwr38 2012/07/29
    この本ちょっと興味あったけどMacだと環境がアレかなー、って思ってたから嬉しい
  • 初心者のためのポイント学習C言語

    since:2002.06.02 更新に手が回らずすみません。 ANSI規格でもいいよという方は 御覧ください。m(_ _)m

  • kkaneko.com

    kkaneko.com 2024 著作権. 不許複製 プライバシーポリシー

  • 当たり判定 - ゲームプログラミングWiki

    解説 来当たり判定は格闘ゲームとかにも応用できて共通で書こうとも思いました。 ですが、当たり判定といったらシューティングゲームというくらいに重要性が高いのでここで書きたいと思います. この当たり判定はシューティングゲームにおいて最重要とされる話題です。 今回説明する内容は毎週金曜日にある C3 ゼミで発表した内容です。 尚、今回説明する当たり判定は数学が結構出てきます。気を引き締めましょう。 ↑ 二点間距離を用いた方法 多分誰もが最初に考え付くのがこの方法ではないでしょうか? 二点間距離と円の半径を用いて当たり判定を実装します。 自分も最初この方法を使いました。 敵の弾の座標を(X1,Y1),弾の半径をR1、自機を(X0,Y0)、自機の半径をR0とします。 半径R1、R0の和が距離に等しいときにちょうど円同士が触れ合い、和が距離以下のときにHITするということです。 bool IsHit

    fjwr38
    fjwr38 2012/07/06
    当たり判定というのは一般的に重い処理です。 (中略) ですので当たり判定は出来るだけ軽い円の当たり判定、もしくは矩形の当たり判定にしましょう。
  • C言語入門:ポインタとは:Geekなぺーじ

    ポインタはC言語の最重要箇所であると言っても過言では無いと思われます。 ここでは、ポインタとは何であるかを簡単に説明したいと思います。 ポインタは難しい C言語をはじめて習う人の多くがつまづくのがポインタであると思われます。 ポインタの概念は、一度わかってしまえば非常にわかりやすいのですが、わからないと何を言っているのかが理解不能であると思われます。 何故わかりにくいのかというと、ポインタは自分で実態を持つのではなく、実態を表す先を持っているからだと思われます。 (ポインタも変数なので実態はあるにはあるんですがね。。。もう既に意味不明になったかも知れませんが。。。) ポインタの概念を覚えると、他の言語を理解するうえでも非常に役立ちます。 例えば、JavaScriptPerlにもポインタと似たような考え方をする部分があります。 最初はわからなくても、色々なサンプルをいじってみて試しながら体