#include VALUE rb_cBla; typedef struct Bla { char str[123456]; } Bla; void bla_free(Bla *bla) { free(bla); // fprintf(stderr, "#"); } VALUE bla_new() { VALUE info; Bla *one = ALLOC(Bla); info = Data_Wrap_Struct(rb_cBla, 0, bla_free, one); // rb_obj_call_init(info, 0, 0); return info; } void Init_native(void) { rb_cBla = rb_define_class("Bla", rb_cObject); rb_define_module_function(rb_cBla, "new", bla_new, 0); }