cython中结构内部的内存视图

时间:2016-04-08 15:39:48

标签: python c++ cython

可以在cython

中的结构内声明内存视图

我在一个结构中定义了一个内存视图,只要我将一个现有视图分配给它,然后尝试访问它,它会给我的seg错误。 这是有问题的代码:

cdef struct StackRecord:
    int dataLen
    Node *tree_node
    int[::1,:] idx_data

这是一个带有概率的函数

    cdef buildTree(int[::1,:] ids_data.....) nogil:
        with gil:
            print ids_data[1,0] #prints the data correctly
        cdef stack[StackRecord *] mystack #stack for storing ptr to stackrecord
        cdef StackRecord *stack_rec #stackRecord pointer to be pushed       
        stack_rec.idx_data=ids_data  #line wihth prob iff commented following print work fine else gives segfault
        aho=ids_data
        with gil:
            print ids_data[1,0]
            print aho[1,0]
        mystack.push(stack_rec)
        while loop for tree building:#crashes before this

我是cython的新手。无法理解可能是什么问题。这里使用的堆栈是 c ++库函数

0 个答案:

没有答案