タグ

Cに関するakaihoのブックマーク (19)

  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
  • ゲームボーイアドバンスのゲームを書こう | POSTD

    子どもの頃は、ゲームボーイのゲーム(たいがい、かなりひどいもの)で遊ぶのにたっぷり時間を費やしました。 これまでは「標準の」一般的な目的に使われるコンピュータ以外のためにコードを書いたことはなかったのですが、最近考えるようになりました。 「ゲームボーイ(アドバンス)のゲームは簡単に書けるだろうか?」 ゲーム機には詳しくない方のために説明すると、ゲームボーイアドバンス(GBA)は、任天堂が発売した人気携帯型ゲーム機でした(写真下)。 240 x 160 (3:2) 15ビット カラーLCDディスプレイ、6種類のボタンと十字キーが付いています。 ゲームボーイアドバンス 内部を見ると、GBAのCPUは32-bit ARM7TDMI RISCコア(16.78MHz)です。 標準の32-bit ARMのインストラクションのほかに、 このチップは16ビットThumb のインストラクションも実行できます

    ゲームボーイアドバンスのゲームを書こう | POSTD
    akaiho
    akaiho 2015/09/26
  • 日本のC言語とUNIXの父、そしてインターネットの父祖 石田晴久氏が死去、72歳

    「K&R」の愛称で知られる教科書『プログラミング言語C』の翻訳などを通して、日におけるUNIXオペレーティングシステムおよびC言語の普及に大きく寄与し、インターネットの礎に多大な貢献のあった東京大学名誉教授の石田晴久氏が3月9日、心筋梗塞のため東京都内の病院で死去した。 「K&R」の愛称で知られる教科書『プログラミング言語C』の翻訳などを通して、日におけるUNIXオペレーティングシステムおよびC言語の普及に大きく寄与し、インターネットの礎に多大な貢献のあった東京大学名誉教授の石田晴久氏が3月9日、心筋梗塞のため東京都内の病院で死去した。 72歳だった。通夜、葬儀・告別式は近親者のみで行う。 石田氏は東京大学大学院卒業後、マサチューセッツ工科大学研究員などを経て、1970年に東京大学大型計算機センターの助教授に就任(82年に同教授)。同センター在任中に、C言語の原典とも言える『プログラミ

    日本のC言語とUNIXの父、そしてインターネットの父祖 石田晴久氏が死去、72歳
  • Tokyo Dystopiaの設計思想 - mixi engineer blog

    番に向けて海に行ける体作りに励まないといかんなーと思いつつも、ついついDSのスターフォックスで遊んでしまうmikioです。さて今回は、人知れずリリースされている検索エンジンTokyo Dystopiaの概要と設計思想について述べます。 Hyper Estraierとの違い Tokyo Dystopia(以下、TDと呼びます)は、新しい検索エンジンです。しかし、私が作ったもう一つの検索エンジンHyper Estraier(以下、HEと呼びます)の後継としては位置付けていません。 Hyper Estraierの製品コンセプトは、「検索システムの需要が生じる様々なシーンで手軽に導入できる」ことです。言い換えれば、「いわゆるシロウトの人でも、お高い商用システムを買えない個人や小組織でも、ちょっとの努力で自分の要求を満たすシステムを構築できる」ことです。そのために、様々なファイル形式に対応したテ

    Tokyo Dystopiaの設計思想 - mixi engineer blog
  • 言語別ゲームプログラミング制作講座一覧 - ネットサービス研究室

    プログラミング言語別にゲームプログラミングについて解説しているサイトをまとめてみました。ジャンル別ゲームの作り方とアルゴリズムまとめもあわせてお読みください。 Java Javaゲーム作りますが何か? ガメラボ Javaゲームはじめました。 JavaRPGを作ろう! Javaによるゲーム解説 JavaScript JavaScriptゲームの作り方 ゲームの作り方 by BFF (^==^)ドリームキャストでJavaScript JavaScript でテトリスみたいなゲームを作ろう! C++ 0からのゲームプログラミング DirectXでゲームを作ってみよう ゲームプログラミング講座 ゲームプログラミングWiki マルペケつくろーどっとコム http://www5b.biglobe.ne.jp/~u-hei/ サラリーマンの俺が無料ソフトだけで3Dゲームを作るスレ まとめ ゲームつく

  • mmap (メモリマップトファイル) : kei@sodan

    Linux/Unixのメモリ周りで大活躍のシステムコール、mmapの解説です。 スライド(pdf), (pptx), (ppt) 上記スライド及びこのページの内容の大部分は、(僕が受けた) 田浦先生 の授業オペレーティングシステムの6回目のスライドと同じです。 あと、malloc中のmmap()まわりを調べてくれてありがとう>研究室のkennyくん ファイルとメモリ mmap()のAPI・使い方 (mallocの中身の話題) mmap()の実装

  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
  • cri-ch.tv [13]

    akaiho
    akaiho 2007/08/14
    有名といえば有名なのかな
  • cri-ch.tv [13]

  • Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro

    「Code Reading―オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行,写真1)というがあります。私はこのの監訳者ですから,やや自画自賛になってしまいますが,ソースコードの読み方を主題にしたはほかにはあまりありません。技法からツール,データ構造,アーキテクチャ,さらには実際にコードを読んで利用する実例まで紹介している網羅的で良いだと思います。 このの「はじめに」で「達人プログラマー」として知られるDave Thomas氏は以下のように書いています。 他人の作品を読まなかった偉大な作家,他人の筆づかいを研究しなかった偉大な画家,同僚の肩越しに技を盗まなかった腕のよい外科医,副操縦席で実地の経験を積まなかった767機長――果たして,そんな人たちが当にいるのでしょうか? たしかにその通りです。ソフトウエア以外の領域では修行することとはすなわち,他の人の

    Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro
  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • 404 Blog Not Found:Cで強引にたらいを後回し

    2007年05月22日22:00 カテゴリLightweight Languages Cで強引にたらいを後回し 404 Blog Not Found:λ萌え - たらいを後回しを書いた後、なんとかCでも出来ないかと、車輪の再発明する代わりに横車を押してみた。 GCCにはclosureがある! 実は以外と知られていないが、gccでは無名関数は使えなくとも、closureは使える。最近では無名関数をサポートしている言語が人気ということもあり、また無名関数の多くがclosureとしても用いられているため、無名関数の別名としてclosureという呼び方をすることもあるが(私もときどきやる)。この二つは来は別物である。JavaScriptで書くと、 var outer = 1; var closure = function(x){ return outer++ }; var nonclosure

    404 Blog Not Found:Cで強引にたらいを後回し
  • Geekなぺーじ:C言語が嫌いな理由

    「Why I hate C」という記事がありました。 私は個人的にはC言語が好きですが、C言語が嫌だという視点も面白いので要約してみました。 かなり削っているので詳細は原文をご覧下さい。 C言語は組み込みに使うには良い言語ですが、その他の99.9%のアプリケーションを作るには最適とは言えません。 現在、アセンブラが一般的なアプリケーションを書くための良い解では無いことは自明です。 ここでは、もはやC言語もそうでは無い理由を述べたいと思います。 C言語の最も大きな問題はプログラマが間違いを犯しやすい事です。 私も良く間違えます。 どんなプログラマであっても数千行のコードを書いてバグが一つも無いということはありません。 コード量が少ないということは間違いの数も少ないということになります。 C言語は、言語のデザイン上、より多くのコードを書く事を要求します。 また、新しく開発されたプログラミング言

  • clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクション

    Emacs エディターで C 言語のプログラムを書く人向けに、入門用の解説がないように思う。そこで、知っておくと便利な機能をまとめてみた。 読者は、Emacs の操作とカスタマイズが最低限できる人を対象にしている。つまり、C-x C-f といったショートカット・キーが使えて、.emacs の設定ファイルがいじれる人。各機能について、基的な使い方とその効果、あと最低限の設定について書き出した。 目次 ソースの色付け インデント アラインメント コメント info マニュアル スペル・チェック タグ・ジャンプ 関数名の補完入力 コンパイルとエラー行ジャンプ ChangeLog ファイル 1. ソースの色付け Emacs は、C 言語のソース・ファイルを解析して、if や for といったキーワードに対して、自動で色を付ける。 色を付けることでソースにメリハリが生まれ、可読性が上がる。また、ス

    clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクション
  • 404 Blog Not Found:C - Judyでたらい回し

    2006年12月07日05:00 カテゴリLightweight Languages C - Judyでたらい回し フィボナッチ関数やたらい回し関数のような、自分を複数回呼ぶような再帰関数は、memoizeするかしないかで結果が極度に変わってくるが、これをCでやってみようという企画。 Judy Arrays Web Page Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Matzにっき(2006-06-28)とても高速なテーブル。十分高速なので、疎配列やハッシュとして使える。Cでmemoizeというのは、自分でhashを実装したりしなくてはならず大変だったが、このJudyがあれば実に簡単だ。まずは結果を見てもらおう。 %

    404 Blog Not Found:C - Judyでたらい回し
    akaiho
    akaiho 2006/12/07
    C hash
  • 電脳言語における祖先の呪い--演算子篇 : 404 Blog Not Found

    2006年11月30日00:45 カテゴリLightweight Languages 電脳言語における祖先の呪い--演算子篇 というわけで、Cの娘達が、Cにどのように呪縛されてきたかを考察してみる。 404 Blog Not Found:プログラマーが単一言語にこだわるべきではないN個の理由 比較的それに近いのはDだけど、それでもDはCとJavaの呪縛が強すぎるように思う。次回はそのことについて述べようと思う。Cの呪い、というより母言語の呪いとして一番強いのは、実は静的とか動的とか、コンパイラ言語だとかスクリプト言語だということではなくて、演算子、もう少し具体的に言えば、「どんな記号をどの演算子に割り当てるか」だと思う。 Cに関しては、特に強かった呪縛は->演算子。そしてなぜこれが呪縛になったかというと、単項(unary)の*、すなわちポインター参照が前置だったから。 おかげで、Pasca

    電脳言語における祖先の呪い--演算子篇 : 404 Blog Not Found
  • プログラマがC言語を学ぶべき10の理由:Geekなぺーじ

    「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。 ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。 誤訳や勘違いなどが入っている可能性があるので、詳細は元記事をご覧下さい。 以下訳です。 全てのプログラマはC言語を学ぶべきである。 C言語を学ぶ事により得られる利点は無視できないほど大きい。 C言語を学ぶ事により、仕事の機会に恵まれるだけではなく、コンピュータへの理解が深まる。 1) C言語は、C++Javaと比べて低レベル(low level)な言語である。 低レベル言語を使ってプログラ

    akaiho
    akaiho 2006/11/27
    「Cだったらこんなに簡単には書けないよなあ」と思ったり「Cならもうちょっといじれるんだけどなあ」と思ったりする時点で、C基準に考えてるなと自覚してしまう
  • J (2006-08-08)堕落したCプログラマのレベル10

    「偽札対応済み」って書いてある両替機。 川口市立中央図書館屋の上にある図書館。に行ってきた。特に何もないけど。あと、マイコンショップ川口つぶれてた。 ある程度能力を持ってるなら、成果を残せるか残せないかは自信を持ってるか持ってないかの違いだけかもしれないというような話。 最近思うのだけど、使えない奴(例えば、僕のような)の特徴として、「どうせ自分が何をどうやっても、何もどうにもならない」的な思考があると思う。 例えば、上の一行で言うと、「使えない奴(例えば僕」とか、そういったような思考。 こういった思考は、いったん根付いてしまうと、循環するので、なかなかやめられない。「どうせ自分は何もできないんだ→何もできないから何もやらない→何も成果を残せない→どうせ自分は何もできないんだ」とかいった感じで。 矯正しようと思っても、「いや、こういう性格だから、矯正は無理だし。」と、いう思考になってし

    J (2006-08-08)堕落したCプログラマのレベル10
  • cmagazine.jp | Just another WordPress site

    すごい視聴率だと話題になっていたコンビニの経営を観たら、出演している加盟店のファンになってしまったんです。そこで自分も地元香川でフランチャイズ加盟をしてコンビニを経営してみたいなと思うようになりました。 https://www.sej.co.jp/owner/area/market/kagawa.php >>Read more

  • 1