>>>>> "B" == Bill Tj <billtj / glue.umd.edu> writes: B> However, using "rb_define_readonly_variable" still exposes my C global B> variables to the user, although they are read only. Is there any way B> to hide them completely from the user? I.e., is there any other easy B> way to mark the global variables? Use rb_global_variable() see README.EXT ** Notice GC should know about global variables which refers Ruby's objects, but not exported to the Ruby world. You need to protect them by void rb_global_variable(VALUE *var) Guy Decoux