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

mallocのテストをしたい!

GCC

なかなかメモリ確保に失敗することが無いので、こうしてみた。 p = malloc(INT_MAX); if (!p) { perror("malloc(3)"); exit(EXIT_FAILURE); } malloc(3): Cannot allocate memoryやった。何処までいけるかな

Linuxプログラミングで参考になるマニュアルのメモ。

GCC

man編 セクション番号 2 システムコール 3 ライブラリ 0p POSIXヘッダ 0pが使える。 % man 0p sdtio.hこれでstdio.hの関数定義一覧が見れる。zshだと、セクション番号入れると補完が利くのでかなり便利。単語検索-Kと併用すれば・・・ % man 0p -K INT_MAX /…

lsコマンドのソース

lsコマンドのソース(FreeBSD版)|gihyo.jpより。 書籍『ふつうのLinuxプログラミング』の著者である青木峰郎氏が「lsのソースを読んでないのはプログラマとしてかなりまずいのではないでしょうか」と言及していました。 !!読もう。←まずい人とりあえず最新…

ふつうのLinuxプログラミング 第13章〜第15章 いよいよネットワーク!!

gcc

さて、いよいよ後半戦。第3部!!Linuxネットワークプログラミング!!まずは、daytimeクライアント。サーバーの時計が見れるらしい。っていきなりむじぃし・・・サンプルにヘッダ書いてないし・・・。仕方ないので、manを叩きまくり、Vimの補完で楽をしつつ、GD…

pstreeのメモ。

ひさしぶりの浅広。Linuxコマンドを浅く広く体験するコーナーで〜す。今回はふつうのLinuxプログラミングからpstreeの浅広だ。pstreeは、プロセスinitからのプロセスツリーを出す。 % ptree init─┬─acpid ├─atd ├─automount───4*[{automount}] ├─avahi-daemo…

zshで履歴の単語補完する。

メモ。以前に入力した単語を補完したくなったらM-, % http://ここでM-,逆はM-/。ヤバすぎ。 更新履歴 2013/06/10 M-/追加。

ふつうのLinuxプログラミング 第11章-第12章1 メモリとプロセス

gcc

11章はメモリ、ハードウェア、コンパイルの説明。いつまで経っても、ポインタは苦手(汗驚いたのが、コレ。/proc/pid番号/mapsで、メモリの使用状況が判る。 % ps PID TTY TIME CMD 6224 pts/5 00:00:00 ps 31822 pts/5 00:00:16 zsh % cat /proc/31822/maps …

ふつうのLinuxプログラミング 第10章 ファイルシステム

gcc

今回はls,mkdir,rmdir,ln,symlink...等ファイルシステム関連。全部やるとしんどいので、ls,mkdir,rmdirだけ作った。後はほぼ同じような感じ。「rm -r」面倒だなぁと思ったら、ファイルシステムとの絡みがあると。linuxの"何故"が見えてくる所がおもろい。で…

ふつうのLinuxプログラミング 第11章-第12章1 forkがわからねぇ〜。

gcc

あぁ、昨日のforkがイマイチ掴めていない。なので、実験を重ねる。 printf("hoge\n"); pid = fork(); hogeは1度しか表示されない。つまり、 | printf("hoge\n"); | +--+ fork(); | | 親 子であることが、確認できた。最初から実行している訳では無い。あぁ・…

せっかくのLinuxを手に入れたので、システム管理してみる。

そういえば、Linuxを手に入れたのに、システム関連には全く手を付けていない・・・su -,yum位しか使ってない・・・。僕がLinuxを手にしているのは、最高のプログラミング環境になる思ったからだ。残念ながらシステム管理、サーバー管理には相当疎いので、ち…

英語優先でgoogle検索する

検索結果が日本に偏りすぎていて目的の情報に辿り着かない事がある。web全体にしても、日本語検索結果は上位だ。英語優先でgoogle検索するには、http://www.google.com/webhp?hl=enで検索出来る。快適。

grepメモ 2

grepの便利そうなオプションをメモっておきま〜す。 使うテキスト こんなん。 % cat book.txt プログラミング言語awk Linux コマンドポケットリファレンス Vi IMproved-Vim Fedora Core6 ビギナーズバイブル BINARY HACKS ふつうのLinuxプログラミング ふつ…

ふつうのLinuxプログラミング 第9章 ディレクトリの構造

gcc

第9章はプログラムを書かない項なのですが、重要どころなので、Linuxのディレクトリを巡るツアーを慣行致します。 /bin ブートに必要な基本コマンドが入っていると。 見たことあるプログラムが多いけど、まだまだ試したことのないファイルが結構あります。気…

make時に通常コンパイルとデバッグコンパイルを分ける。

makeはタイムスタンプと依存関係を洗い出しコンパイルの必要のあるものだけ再コンパイルしてくれる。しかし・・・それが仇になることもよくある話・・・。例えば、makeとmake debugで、コンパイル条件を別けてコンパイルしたくなる。しかし、示しているター…

ふつうのLinuxプログラミング 第8章 grepコマンドを作る

gcc

いよいよやってきました!!「grepコマンドを作る」!!自分で正規表現ライブラリなんか書いたら・・・いつまでかかるか・・・お手軽libcを使って書いていきます。前に作ったheadコマンドを修正してっと。make debug!! (gdb) r "[grep]{4,}" grep.c Starting pro…

zshで出来ているエディタzedを使ってみた。

技術メモ帳 - zshで出来ている新感覚エディタzed面白そうだったので、シェルスクリプトのデバッグ作業が楽になるzsh搭載の新感覚エディタzedを使ってみました。起動は、 % autoload zed % zed -f [関数名] -fで関数の編集。オプションを指定しないと、ファイ…

zshの補完予測はありえない。

また新たなMYCOMの記事が出てた。【コラム】漢のzsh 第6回 漢はだまって先方予測 - あなたはこの機能使いこなせるか (MYCOMジャーナル)変態過ぎ。漢は黙って、 autoload predict-on predict-on もうbashに戻れなくなる。リダイレクトの記事もありえない。発…

rlwrapがとっても便利な件について。

GNU readlineについて調べていたら・・・readlineラッパrlwrapに辿り着く。rlwrapは、readlineに対応していないCUIプログラムをreadline化する事が出来る!!公式 rlwrap, Emacs midi-input and p5httpd解説など。 川o・-・)<2nd life - rlwrap - readline …

amazonのアカウント取った。

今までネットでの買い物は控えていたけれど、やはり欲しい本が手に入らないと困るのでamazonのアカウントを取った。実は本を買わなくてもかなり使えますね・・・本の為のSNSといった感じ。今まで使ってなかった僕が馬鹿でした・・・。本の管理はamazonでしよ…

空コマンド

最後にセミコロンを書くと、コマンド行が書ける。セミコロンのみなら空コマンドを実行する。 all : $(target) ; make道は深い。 参考 自動化のためのGNU Make入門講座 - Makefileの基本:ルール

Buffer Explorerがバージョンアップ。

vim

MRUと並んで僕のVim生活を支えているプラグインBuffer Explorerがバージョンアップしてました。bufexplorer.zip - Buffer Explorer / Browser : vim onlineシェルで上手く動いていなかったのですが、バージョンアップした所、快調に動き始めました。一つ懸案…

シェルスクリプト条件文の罠

zshの設定を見直し中にハマったので、メモ。 if [ $TERM = xterm ]; then ^ ^ ^^部分にスペース必修。[はコマンドなんだな・・・。 % where [ [: shell built-in command /usr/bin/[zshはビルトインだけど、コマンドとコマンドの間にはスペースがいるらしい…

kasumiの動詞登録

kasumiでハマったのでメモ。動詞「ハマる」を登録したい時は、 ハマ はま 動詞ラ行5段 活用形がポイント。 kasumiでハマらない。 zshはハマります。 KDEもハマる! Vimにハマれ! Linuxにハマろう! ら・り・る・れ・ろなので、ラ行変換活用。 参考 五段活用 - …

ターミナルでALTが使えない!!

Vim

忘れてた。ALT = ESC = CTRL-[ こいつら全部同じキー^[なのだ・・・。set timeoutlen=0にして、ESCを押したらすぐ発動にしてみたけど、今度はleaderが効かなくなってしまう。うぅ・・・ターミナルでもaltがまともに使いたい。しばらくgvimで我慢。

infoが読めるようになった!!

gdbのinfoを読んでいたら・・・hでヘルプのチュートリアルモードになったので、チュートリアルをこなした。今まで苦手だったinfoもようやく攻略出来そうな雰囲気。今までなんで気づかなかったんだ・・・infoが巡りにくい!!と思っていたけど、space,mを使えば…

ふつうのLinuxプログラミング 第7章 gdb

gcc

以前にも使ったことのあるgdb。以前に使ったときはアセンブラのデバッグだったので、あまり有用性を感じなかった。今回はcのデバッグに使ったのが、かなり有効に使えることがわかった。メモっておく。 % gcc -Wall -g -o head head.c % gdb head (gdb) r -n …

w3mman

ヤバいねヤバいね。 % w3mman 3 printfあぁ、すげー便利。w3mでmanが見れるというスグレモノ。「知らない人はいないだろうけれど」って知らなかった・・・。そうだ。man.vimの方もカスタマイズしないと・・・・。Linux歴2ヶ月。まだまだ知らないこといっぱ〜…

xgawkインストール

Awk

昨日、気になったツール。xgawkを関連プロジェクト/xmlgawk/インストールガイド - Japan GNU AWK Users Clubのガイドに従いインストールしてみました。--enable-static-extensionsの意味がイマイチ掴めていないけど、オプション付けておきました。ドキュメン…

ふつうのLinuxプログラミング 第7章 headコマンド。

gcc

今回はheadコマンドを作る。catとあまり変わらない感じですが、引数に-n 5, -n5 --lines 5 --lines5等を取れるようにします。普通に組んだら、ここだけで大変なんですが・・・getopt.hのgetopt_longという便利な関数を使って、解析しちゃってます。便利すぎ…

Yahoo Pipes CodeZineパイプ

web

かんたんすぎ かっこよすぎ Yahoo pipesの記事が面白かったのでYahoo.comのIDとって試してみた。が、CodeZineの[N]のフィルタが効かない!!対策早いですねぇ・・・。Filterに、block anyしといて、 Category:ニュース Category:未分類 のフィルタをかけると、…