变量的类型是什么?

时间:2011-10-04 11:59:19

标签: c ruby

我正在开发Ruby c扩展,我有以下c程序代码,

VALUE var = myFunction(arg1, arg2);
int varType = TYPE(var);
printf("Type of the var is :: %d", varType);

以上printf给出如下输出:

Type of the var is :: 34

由于myFunction是inbuild函数,我不知道该函数的返回类型。 任何人都能告诉我myFunction返回的“var”变量的类型吗? 提前谢谢。

2 个答案:

答案 0 :(得分:3)

TYPE宏返回ruby.h中枚举的值。从那里开始,34是T_DATA,它是wrapped C structure

答案 1 :(得分:0)

var RETURNING FROM MyFunction的类型为VALUE

和VALUE是在ruby.h中定义的typedef

定义

typedef unsigned long VALUE;