ドットインストール代表のライフハックブログ
以上でPythonで学ぶ「詳解 UNIXプログラミング」シリーズを終える。軽いネタのつもりで書き始めたが、サンプル一つ一つにきちんと目を通すのはなかなか楽しく、思ったよりも時間がかかってしまった。短期間にこんなにたくさんのos.fork()を書いたのは初めてだ。 このシリーズを通じて、Pythonのシステム管理ツールとしての優秀さを再確認することができた。ほとんどのサンプルはPythonの標準モジュールだけで実装することができたし、C言語版に比べて非常にシンプルになった。また、対話環境で手軽に実行し、その場で結果を確認できるので、より幅広い実験を行うことができる。Pythonだけでなく、他のスクリプト言語でも同様だろう。id:syohex さんが Perlで学ぶ「詳解 UNIXプログラミング」(その0) - syohex’s diary を書かれているので、Perlプログラマは参照されたい
ジャンプする前に自分の居た位置を記録する命令と、記録された位置にジャンプする命令があれば関数やサブルーチンと呼ばれる概念のとても原始的な形なら実装できるよね、というところまでを実装した。最初はスタックもつくろうとしていたんだけど、いきなりスタックまで実装された状態で見せられても読者が付いてこないと思ったので関数の中から関数を呼ぶと壊れる仕様で。 作ってみて痛感したんだけど、mov %ebx, $0とmov %ebx, %eaxのmovが同じもののように思ってしまうあたりがすでに高級言語脳で、この実装みたいに引数が数値だったら番地と実値の区別ができないから当然別の命令として実装する必要があるのであった。前者をset、後者をmovって名前で実装してて、そして「あ、-4(%rbp)とか出てきたらこの2つのどっちでもないじゃん…」と。 引数をスタックに積むとそこら辺の命令が出てきて、日本語で解説し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く