Я работаю над пониманием petsc4py
источников. В них можно найти множество ctypedef
объявлений следующей формы:
ctypedef <type> <typename> "<C typename>"
, например:
ctypedef char* PetscMatType "const char*"
или
ctypedef struct PetscMatStencil "MatStencil":
PetscInt k,j,i,c
(в этом второй случай MatStencil
- это тип, который будет известен C во время компиляции из-за его определения в заголовочном файле PETS c.)
Я не смог найти никакого объяснения в Документация Cython, объясняющая это использование строки в кавычках в операторе ctypedef
. (Из контекста я понимаю, что cythonize
является подсказкой для реализации типа Cython, определяемого с указанным типом C.) Может кто-нибудь сказать мне, где найти этот документально подтвержденный?
В более общем смысле, есть где-нибудь исчерпывающая ссылка на Cython? Основная документация, о которой я знаю, такова: cython.readthedocs.io
. Это полезно, но это не исчерпывающая ссылка. Например, если вы ищете его по ctypedef
, вы найдете множество примеров, но ни один из синтаксисов, о которых я спрашивал выше. Что вы не нашли, так это исчерпывающее определение синтаксиса ctypedef
.