2008-04-01から1ヶ月間の記事一覧
http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/zipruby/ext/?root=svn ひたすらprintfデバッグ…パッチの問題じゃなかった。 #!/usr/bin/env ruby require 'zipruby' archive = Zip.open_archive("test2.zip", Zip::CREATE) archive.add_buffer("foo.txt…
StringValueCStrは使うことあるかなー? char * rb_string_value_ptr(ptr) volatile VALUE *ptr; { return RSTRING(rb_string_value(ptr))->ptr; } char * rb_string_value_cstr(ptr) volatile VALUE *ptr; { VALUE str = rb_string_value(ptr); char *s = R…
zip_source_filepに直接FILEのポインタ渡せるとかっこいいけど、べつにFile#readでString経由でzip_sourceを作ってもいいような気がしてきた。書き込みモードの場合は「IOError: not opened for reading」を飛ばしてくれるし。 たぶん中身はOpenFile構造体だ…
zoo.cpp #include <iostream> extern "C" { int add(int a, int b); } using namespace std; int add(int a, int b) { cout << "add()" << endl; return a + b; } bar.c #include <stdio.h> int add(int a, int b); int main() { printf("%d\n", add(1, 2)); } ビルド/実行 ~$ g</stdio.h></iostream>…
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/300sharelib.html
Check_Typeのソースを読む。 void rb_check_type(x, t) VALUE x; int t; { struct types *type = builtin_types; if (x == Qundef) { rb_bug("undef leaked to the Ruby space"); } if (TYPE(x) != t) { while (type->type >= 0) { if (type->type == t) { c…
なんかziprubyがSEGVで落ちる。たぶんlibzipのwin32のパッチがまずかったんだろう。 でもlibzipは別ソリューションだし、VSのデバッガがめんどくさいので、ちまちまとprintfデバッグ。 gdbライクなコンソールベースのデバッガが欲しいなぁ。
http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/zipruby/ext/?root=svn ※リリースしました ファイルの中身を読めるようにした。 require 'zipruby' archive = Zip.open_archive("test.zip") archive.num_files.times do |i| name = archive.get_name(i) …
※リリースしました http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/zipruby/ext/?root=svn libzipのラッパ。 とりあえず以下のコードは動くようになった。 require 'zipruby' archive = Zip.open("test.zip") archive.num_files.times do |i| name = arc…
libzipをwin32に移植中。 とりあえず、ビルドは通ったので要点を整理。 config.hはconfig.h.inをリネーム typedef int ssize_t strcasecmpはstricmpで代用 _getpid #define getpid _getpid typedef int pid_t; S_ISDIR #ifndef S_ISDIR #define S_ISDIR(m) (…
http://rua.rubyforge.org/ http://rubyforge.org/frs/?group_id=4845 しょーもないバグがあったので、修正しました。
※このパッチは問題があります。修正版を作成しました。 しばらく動かしてみて問題なければパッチ送ろう。 diff -rup libzip-0.8.orig/lib/mkstemp.c libzip-0.8/lib/mkstemp.c --- libzip-0.8.orig/lib/mkstemp.c 2007-05-16 10:41:34.000000000 +0900 +++ l…
http://www.goodpic.com/mt/archives2/2007/03/svn_svn_add.html なるほどー。
Apacheのモジュールの勉強 mod_substitute.cをキチンと読む Ruby 1.9のモジュールを作ってみる Ragelの勉強 link:Ragel 入門: 簡単な使い方から JSON パーサまで JSONパーサを作ってみる Ragelを使った構文解析を知りたい(字句解析じゃなくて) http://json…
http://www.google.co.jp/codesearch 使うかな?
http://izumi.plan99.net/blog/index.php/2008/03/31/benchmark-passenger-mod_rails-vs-mongrel-vs-thin/ 話題の(?)mod_railsとMongrel、Thinのパフォーマンス比較。 この人のブログ、ホントおもしろい記事ばっかだなー。 それはさておき、速い理由がよく…
RailsでdRubyを起動するようなコードを書いていて、コマンドラインでenvironment.rbが読み込まれたときにdRubyを起動してほしくないので、しばし考える。でまあ、Mongrel/WEBrick限定だけど、以下のようなコードをはさんでおけば良いのではないかと。。。 if d…