>>>>> "J" == John Small <jsmall / laser.net> writes:

J>      rb_eval_string("print 'Object.id:  ', Object.id");            //  =>
J> Object.id:  5919960
J>      printf("\nrb_cObject:  %d", rb_cObject);                    //  =>
J> rb_cObject:  58992127
J>      printf("\ncObject:  %d", rb_eval_string("Object"));        //  =>
J> Object:  11839920

J> What am I misunderstanding?

 Perhaps you don't want to know (it will be useless) :-)))

 I don't have the same result than you, for the 2nd and 3rd it give me the
same result.

 If you really want to know the difference between 1st and 3rd (but why ???)
see that  5919960 * 2 == 11839920 and look at FIX2LONG

  And if you really want to have another result (but why ???)  try this

  printf("\ncObject:  %ld", rb_eval_string("Object.id"));



Guy Decoux