2007-04-01から1ヶ月間の記事一覧

謎の(void)fprintf()

gcc

C FAQ 17 printf()を呼び出しているところすべてに、いちいち(void)のキャストを付けているコードを見かけた。なぜこんなことをするのか。 FreeBSD lsのusageより。 void usage(void) { (void)fprintf(stderr, #ifdef COLORLS "usage: ls [-ABCFGHILPRSTUWZa…

ふつうのLinuxプログラミング 第16章 httpサーバーtelnet風

GCC

ふぅ。やっと16章終了〜。telnet風にリクエストを送ると、ファイルを返せるようになりましたぁ〜 % ./httpd . GET httpd.c HTTP/1.0 HTTP/1.0 200 OK Date: Mon, 16 Apr 2007 15:45:16 GMT Server: httpd/1.0 Connection: close Content-Length: 517 Content…

GNU cflowインストールメモ。

GCC

fedoraパッケージで見付からなかったので、GNU cflowをソースコンパイルした。メモしておく事にする。 % wget http://ftp.gnu.org/gnu/cflow/cflow-latest.tar.bz2 % tar xvf cflow-latest.tar.gz % cd cflow-1.1 % ./configure % make % sudo make install …

FreeBSDのソースコードをゲットせよ!

GCC

FreeBSDのlsのソースを見たとき、おぉぉぉぉコレダ!と思った。やはり、GNUは相当見にくいので、FreeBSDのソースコードを入手する事にした。FreeBSDの場合、コアパッケージの中に基本ユーティリティも入っている事が判ったので、がが〜っと、CVSでダウンロー…

livedoor Reader登録

Web

今僕はLinuxで、C言語,アセンブリ,awk,sedといったいわゆる「枯れた」技術を追っかけてます。コンピューターの原点を学ぶ事が、これほど新鮮で楽しい物だとは思いもよりませんでした。はっきりいって最新情報を追っかける必要が無い訳ですが。時代に取り残さ…

作業日誌とか覚書。

/etc/hosts localhostで繋がらないとと困るので、設定した↓ Vim+firefox 最速インターフェース研究会 :: Firefoxの拡張MozLabの中に含まれるMozReplがヤバすぎる件について+Vimでファイル保存時にFirefoxをリロードする(with MozLab)を適用。Fedoraでtelnet …

コールグラフの可視化に挑戦。

GCC

最近、黒い画面ばかり眺めているtanakaです。昨日から考えていた。「プログラマの考えていることをユーザーにわかりやすく説明するにはどうしたらいいか。」僕たちのアウトプットはどうしても文字になってしまう。黒い画面に、白いテクスト。叩き出された一…

CD.vimに不具合!?

Vim

ファイルを開いたら自動的にcdしてくれるワンライナVimスクリプトCD.vim。かなり愛用してます、しかし、圧縮ファイルを開いたときにエラーが出るのでう〜どうしたもんかなぁと。CD.vim : CD to whatever directory the current buffer is using. (Win, Mac) …

ステップ実行に関するgdbのメモ

gcc

continue ブレークポイントまたはwatchポイントまで実行 next ステップアウト(呼出先には飛ばない) step ステップイン(呼出先まで飛ぶ) 性質の違う3つのステップ実行を使い分けるのがポイント。

HTTPサーバー製作途中経過・・・

GCC

まだ16章で止まってます(遊びすぎそんな時は、やる気を出すためのワンライナ。 % wc -l *.[hc] Makefile 25 httpd.c 59 libs.c 7 libs.h 176 request.c 24 request.h 21 Makefile 312 total312行書いた!!まだ16章は長そう・・・。 追記 2007-04-12 C faqを見…

gdbの履歴に関するメモ

GCC

gdbの履歴制御はちょっと特殊。 M-pを押すと、:が出る。 検索したい文字を打ったらタブではなくエンターで決定する。 結論。動作がイマイチなので、C-r(インクリメンタルサーチ)を使った方がいい。 参考 Debugging with GDB - コマンドライン編集 - ヒストリ…

Vimのautocmdで多重登録を防ぐ

Vim

Vimのデバッグしていたら、autocmdが大量に追加されてしまった・・・。多重登録を防ぐには、augroupで囲んでau!すればいい。 augroup MyGroup au! au Filetype vim,ruby,zsh,sh set ts=2 sw=2 sts=8 et augroup END 参考 :h augroup-delete

いやなブログ巡り。

Binary Hacksの著者のひとり。高林哲さんのブログを巡ってみた。めちゃめちゃ文章が上手いしわかりやすい。そして深い。あまりにも広大なテクスト量の為、はてブ利用で読む。はてなブックマーク - 0xcc.net の人気エントリー膨大なテクストサイトを巡るとき…

irbでも補完しよう。

zshやvimにに慣れきってしまったtanakaです。もう履歴や補完のない生活は考えられない訳です。横着プログラミング 第3回: 履歴マニアこの記事を見てから僕も履歴マニアっす。no 補完, no lifeirbが微妙に使いにくいと思ってたのですが,irbでも補完出来るらし…

VimのヤバすぎコメントプラグインNERD Commenter

Vim

昨日見つけたコメントプラグインNERD Commenterですが、かなりの高機能っぷりに驚いてます。ヤバイ。 これだけは覚えておけ c コメントのトグル printf("Hello, NERD"); ここで、c /* printf("Hello, NERD"); */ もう一回c printf("Hello, NERD"); いえぃ! …

vimrcいじり。

Vim

vim.org内を色々探索していたら、便利そうなプラグインを見つけたので色々試してます。 The NERD Commenter コメントアウトプラグイン。cでコメントのトグル。マニュアルはソースの中にある。結構高機能そう。 Tip #306 - Open a web-browser with the URL i…

Vimの色設定。

Vim

今使っているカラースキームdesertなんですが.vimを編集してるときはいい感じ。でも、cやMakefileをいじるときには、相当微妙な色合い。我慢して使ってたんですが・・・VIM Color Schemeおぉっと。見つけてしまいました。色一覧!!しかもかわいい!!ダウンロー…

たのしいRuby1章 8-10 変数とか

前の疑問が解けた。 irb(main):014:0> print "hoge" "moge" hogemoge=> nil irb(main):015:0> print "hoge" + "moge" hogemoge=> nil irb(main):044:0> printf "hoge%s" "moge\n", "-test-" hoge-test-moge => nilたぶん、文字列演算の省略形。print "hoge",…

たのしいRuby 1章1-7 Hello,Ruby world!!

さて、始めてみる。やっぱり最初はHello,worldからいきまっしょい。 irb(main):016:0> print "Hello, Ruby", " world!!\n" Hello, Ruby world!! => nil irb(main):017:0> puts "Hello, Ruby", "world!!\n" Hello, Ruby world!! => nil irb(main):018:0> p "H…

ふつうのLinuxプログラミング第16章 前半 HTTPサーバー製作開始!

gcc

とうとうHTTPサーバー製作開始!!って過激にムズくなった・・・。リンクリスト、文字列処理、シグナル、mallocと苦手どころが満載!!やっぱりCで作るとやたらむじぃ。ちょいちょい実験を重ねながら進めているので進みはかなり遅いです。strchrによる文字列分解…

ふつうのLinuxプログラミング第16章 中盤 ポインタ、ポインタ、ポインタ

gcc

やっと、HTTPリクエストヘッダ解析になりました。やはりC言語での文字列処理は大変!!C言語にはsplitなどという便利な機能は備わっていないので、ポインタを一歩づつ進めながら、文字を解析、分解、連結リストの中にぶち込んでいきます。telnetと同じようにリ…

GDBのフロントエンドDDDを使ってみた。

gcc

ソースコードを読むための技術で紹介されていた、GDBのフロントエンドDDDを使ってみました。DDD - Data Display Debugger - GNU Project - Free Software Foundation (FSF)使い方は、GDBに拡張命令を加えた感じ。メニューから選べるし、ソースクリックだけで…

たのしいRuby 付録 - 開発環境を整える

本は一番後ろから読むものだ!・・・環境やらドキュメントの説明が最後にあるので。僕のRubyレベルはtry ruby! (in your browser)をやった程度。今まであまりRubyをやる気は無かったけれど、Ruby記事がやたら目につくし、なにより「ふつうのLinuxプログラミン…

初Amazon!

いやぁ、初アマゾンです。いつもは、名古屋駅前のビックカメラへ行くんですが、売ってない本とか、買いそびれた本とかあると結構悔しい。電車代も馬鹿にならないしね。で、買ったのが2冊。速読速聴・英単語 Basic 2200作者: 松本茂,藤咲多恵子,Gail K. Oura…

bash&zshのtrapについて

bash&zshの組込み関数trapについて調べてみた。trapは割り込み(シグナル)を制御することが出来るようになる。強制終了(C-c)を制御してみる。 % trap 'echo You hit C-c' INT % You hit C-c % trap - INT # 削除うっは、絶対使わねぇ〜。(主な目的はHUPの無視…

zshで日本語トグル

英語特訓中の為、普段英語環境ですが、たまには日本語マニュアルが見たい訳ですよ。たまには日本語のエラーが見たくなっちゃったりもする。bashでmanの日本語トグルを作ったけど、もうちょっと汎用的にしてみた。 toggle-jp () { local LANG_TMP=$LANG LANG=…