-
Recent Posts
Recent Comments
- James on Migrating big applications from Rails 2 to Rails 3
- David on The Ruby C API – Basics
- 各种MQ比较-老娘舅 on A quick message queue benchmark: ActiveMQ, RabbitMQ, HornetQ, QPID, Apollo…
- Chris on A quick message queue benchmark: ActiveMQ, RabbitMQ, HornetQ, QPID, Apollo…
- Andy on How to read one non-blocking key press in Ruby
Archives
Categories
Meta
Category Archives: C
rb_iterate replaced by rb_block_call API between Ruby 1.8 and 1.9
You may have noticed that some Ruby libraries using C extensions were suddenly having core dumps when compiled using Ruby 1.9, whereas compiling with Ruby 1.8 got no problems. A good culprit might be the usage of rb_iterate method in … Continue reading
C, Howto, Ruby
1.8, 1.9, block, C extension, example, obsolete, rb_block_call, rb_iterate, ruby, segmentation fault, usage, yield
The Ruby C API – Basics
In my 2 previous posts, we saw how to write C extensions, and how to package them. Now time has come to see a little bit of the Ruby C API. This post will deal with the basics, next ones … Continue reading
C, Howto, Ruby
api, C, C extension, DBL2NUM, FIX2INT, INT2FIX, NUM2DBL, RARRAY_LEN, rb_ary_entry, rb_ary_new, rb_ary_push, rb_class_new_instance, rb_const_get, rb_define_class, rb_define_method, rb_define_module, rb_funcall, rb_hash_aref, rb_hash_aset, rb_hash_new, rb_intern, rb_str_new, RSTRING_LEN, RSTRING_PTR, ruby
Packaging Ruby C extensions in nice gems
In the first part of this series on Ruby and C, we’ve seen how easy it is to write a C extension and use it in Ruby environment. However, in real world problems, a Ruby library will have several C … Continue reading
How to write C extensions easily in Ruby
Lots of Ruby libraries suffer from performance. It is in fact one of the biggest criticism that is being made to Ruby. There are lots of ways to improve Ruby’s performance: use latest Ruby version, use JRuby, use Ruby Entreprise … Continue reading
C, Howto, Ruby
bottleneck, C, C extension, compile, dynamic, extconf, howto, link, make, performance, ruby