-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Learning Cython Programming (Second Edition) - Second Edition
By :
The typedef in C/C++ code allows the programmer to give a new name or alias to any type. For example, one could typedef an int to myint. Or you can just simply typedef a struct so that you don't have to refer to the struct with the keyword struct every time. For example, consider this C struct and typedef:
struct foobar {
int x;
char * y;
};
typedef struct foobar foobar_t;
In Cython, this can be described by the following:
cdef struct foobar:
int x
char * y
ctypedef foobar foobar_t
Note we can also typedef pointer types as below:
ctypedef int * int_ptr
We can also typedef function C/C++ pointers, as follows:
typedef void (*cfptr) (int)
In Cython, this will be as follows:
ctypedef void (*cfptr)(int)
Using the function pointer is just as you would expect:
cdef cfptr myfunctionptr = &myfunc
There is some magic going on here with function pointers as it's simply not safe for raw Python code to directly call a Python function or vice versa. Cython...
Change the font size
Change margin width
Change background colour