在Cython中包装一个C函数,它具有非stanard类型作为参数

时间:2018-05-30 14:42:57

标签: python c++ cython

我正在尝试包装一个类型为uint32_t的参数的C ++函数,该函数可以在cstdint库中找到。假设C ++文件看起来像

cppfile.cpp:

#include <cstdint>

int foo(uint32_t x){
    return 1;
}

如何在Cython .pxd文件中包装它?如果x只是一个普通的整数,我会做

cdef extern from "cppfile.cpp":
    cdef int foo(int x)

但是当x是uint32_t类型时我该怎么做?如何在cython中获取uint32_t类型?

1 个答案:

答案 0 :(得分:0)

这是Swagger Codegen

中回答的问题
from libc.stdint cimport uint32_t

cdef extern from "cppfile.cpp":
    cdef int foo(uint32_t x)