It is also easy to access C functions defined in separate *.c files.
Here's an example. Create files "test.c" and
"test.spyx" in the same directory with contents:
The pure C code: "test.c"
int add_one(int n) {
return n + 1;
}
The Cython code: "test.spyx":
cdef extern from "test.c":
int add_one(int n)
def test(n):
return add_one(n)
Then the following works:
sage: attach "test.spyx" Compiling (...)/test.spyx... sage: test(10) 11
If an additional library "foo" is needed to compile the C code
generated from a Cython file, add the line "clib foo" to the
Cython source. Similarly, an additional C file "bar" can be
included in the compilation with the declaration "cfile bar".
See About this document... for information on suggesting changes.