タグ

cに関するakishin999のブックマーク (131)

  • The libexif C EXIF library

    The libexif C EXIF library This site has moved to https://libexif.github.io Last update: 2017-11-29

  • AutotoolsでHello World! - mir the developer

    AutotoolsでHelloWorldをやってみたのでメモしておきます。GNU Autotoolsとはautoconf、automake、libtoolといったC/C++プログラムを容易にかつポータブルにビルド可能にするためのツール群の呼び名とのことです。 分かりやすく言うと、自分のプログラムを↓↓↓でビルド&インストールできるようにしてくれるすごい奴らということです。 ./configure make sudo make install上記コマンド実行時にはconfigureスクリプト、Makefileなどが活躍するわけですが、これらは大抵、プログラマの手作業で作られたファイルではありません。規模の大きなソフトウェアほどこういったファイルを手作業で作るのは無理なので、代わりにもっとプログラマに優しいAutotools用の入力ファイルを作って、そこから自動生成させるのが良いということにな

    AutotoolsでHello World! - mir the developer
  • Cの老害? - 神様なんて信じない僕らのために

    答えなんてでないのは承知の上で、 言及というかスタンスで。 ちょっと前に入門にCはどうよ、というネタで盛り上がっていた、というかネタの拡散に一役買っていた気もするのだけども、ふと自分が以前書いていたネタを思い出したのでリンクを張っておく。 「初心者とC」の話 - odz buffer Cが初心者に優しくない、ということに対しては誰も異論はないと信じたい。 一番きついと思うのは、抽象化レベルが低すぎて低レベルな部分に関して知らないといけないことが多すぎること。勿論それにはそれなりの理由があるんだけれど、明らかにこれは初心者(とにはさん)の敵。 2007-08-02 - nihaaaaaaaa(のヮッ☆) Cってそんなに難しいかなぁ、 抽象化もアセンブリに較べたらまともで超がつくほど高級言語だとは思うけどなぁ、 ってそういう話では無いんだろうけど、 Cは言語仕様も小さいし、 不便だからこそ色ん

    Cの老害? - 神様なんて信じない僕らのために
  • Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )

    このエントリは、GoogleGoogle Code でオープンソースとして公開しているソフトウェアの解説シリーズの第2回です。 今回は、Google CoreDumper というソフトウェアを紹介します。 このソフトウェアはアプリケーションプログラムから任意のタイミングでコアダンプを出力する機能を提供するライブラリです。 「 コアダンプ 」 はプロセスのある時点での状態を保存したファイルで、デバッグのときなどに利用されます。通常、プログラムが異常終了したときや特定のシグナルを受信したときに OS カーネルがコアダンプファイルを出力し、そのプロセスは終了します。開発者はそのダンプファイルを gdb などのデバッガなどで解析して問題の原因を調査します。 問題が発生してコアダンプが生成される場合以外にも動作中のプロセスのスナップショットをコアダンプファイルとして生成できれば、その時点でのプ

    Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )
  • L'eclat des jours(2007-07-23) -Cは必要か?-

    _ …… 劇場で見逃してた、チェンカイコー(チェンガイグって書く人もいるが、どっちなんだろう? の陳凱歌)のプロミスをテレビでやってたので、あっけにとられて最初の40分と、最後の40分くらいを見た。 この人が、群集を扱わせたらただごとではないってのは、大閲兵でも見たし、黄色い大地でも見たし、琴の糸でも、というか、キリングミーソフトリー以外(先生の映画以外は、結局、全部見てるようだ。追記:確かに先生のやつ以外は全部見てる)ではいつも見てたわけだが、それにしたって、野牛と囮の奴隷と漢軍と蕃軍の出だしのところは、何が起きたのかとびっくり。いや、そもそも最初の、「お前が落としたのはこの饅頭かい?」というか、その手前の明日のジョーの金さんの子供時代のエピソードっぽい饅頭を手に入れるところからして、いったい何事かのオンパレードで、こんなおかしなものを平然と撮れる作家は、他の誰でもなく、まさにチェンカイ

  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

    普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次の Ruby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 % ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

  • Beej's Guide to Network Programming

    Beej's Guide to Network Programming Using Internet Sockets Brian "Beej Jorgensen" Hall beej@beej.us Version 3.0.0 September 23, 2008 Copyright © 2008 Brian "Beej Jorgensen" Hall Contents 1. Intro 1.1. Audience 1.2. Platform and Compiler 1.3. Official Homepage 1.4. Note for Solaris/SunOS Programmers 1.5. Note for Windows Programmers 1.6. Email Policy 1.7. Mirroring 1.8. Note for Translators 1.9.

  • DSAS開発者の部屋:オープンソースを楽しむエンジニアの一日 〜 コードを楽しく読む工夫

    C言語で書かれたソースコードを読んでいるとき、関数ポインタから呼び出されている機能の実体がどこに書かれているのかを探すのに苦しんだ経験はありませんか? 私はあります、いっぱいあります!! そんなときはどうするかというと・・・ 手順1: まずは気分転換をする! 手順2: そして気合いを入れ直す! 手順3: さらに気力で読み砕く! 手順4: 最後に根性で発見する! これが、ごく一般的な作業手順(?)かと思います・・・(ごめんなさい嘘です) でもまあ、実際にここまで出来れば、そのプログラムの大まかな構成とか癖みたいなものはだいたい把握できているはずなので、他の関数ポインタについてもある程度当たりをつけて見つけだすことが出来るようにはなるかと思います。 ・・・・・が、、できれば気合いと根性を使わずに追えるなら追いたいのが人情ですよね。 straceやltraceを使えばシステムコールやライブラリコ

    DSAS開発者の部屋:オープンソースを楽しむエンジニアの一日 〜 コードを楽しく読む工夫
    akishin999
    akishin999 2007/05/24
  • 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で強引にたらいを後回し
    akishin999
    akishin999 2007/05/23
  • Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな

    Memcachedの添え物として扱われている(ような気がする) libeventちゃんカワイソウ。 libevent というわけで、libeventとsennaを使って COOKIEによるセッション維持機能がついたWebサーバを書いてみた例。 (Sennaは単なるハッシュライブラリとして使っています。) mainを書き下すと、 Senna初期化 libevent初期化 httpd機能開始 URIごとにハンドラ関数を設定 イベントをガンガン処理 といった感じ。 Cでこれくらいの長さだったら、 妥当だと思います。 バグがありそうだし、セッション変数の種も適当だけど、 気にするなってことで。 実用にはならないけど、サンプルの1つとしてどうぞ。 LLな言語のインタプリタなんかを抱え込むと面白いのかもね。 #ifdef WIN32 #include <winsock2.h> #include <wi

    Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな