作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图找到解决 Julia 源代码的方法,即 codegen.cpp
.他们使用结构 jl_value_t
它指的是自己:
#define JL_DATA_TYPE \
struct _jl_value_t *type;
typedef struct _jl_value_t {
JL_DATA_TYPE
} jl_value_t;
最佳答案
对我来说,能够用 C 编写动态代码似乎是一个(肮脏的)技巧。所有装箱的 Julia 值都可以有自己的内存布局,只要它们以指向类型的指针开头,以便 C 代码可以检查在访问类型定义的任何其他字段之前的类型。
有一些方便的函数可以检查一些常见的类型 a jl_value_t*
可能指向。 (例如 jl_is_type(v)
、 jl_is_long(v)
、 jl_is_symbol(v)
、 jl_is_typevar(v)
、 jl_is_bool(v)
)。当您知道指向的对象的类型时,您可以将指针转换为来自 src/julia.h
的正确结构体。 .
关于eclipse - julia源码中jl_value_t的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21811577/
我是一名优秀的程序员,十分优秀!