Я нашел этот фрагмент кода с помощью python 2.7.5, который представляет собой главу об экспонировании C-API для других модулей в расширении Python с помощью C и C++: Предоставление C API для расширения МодульКапсулы функции Python
/* C API functions */
#define PySpam_System_NUM 0
#define PySpam_System_RETURN int
#define PySpam_System_PROTO (const char *command)
// ...
static PySpam_System_RETURN PySpam_System PySpam_System_PROTO;
// ...
static void **PySpam_API;
#define PySpam_System \
(*(PySpam_System_RETURN (*)PySpam_System_PROTO) PySpam_API[PySpam_System_NUM])
Это отрезанное для функциональных капсул. Капсула используется для передачи функций между двумя модулями. Но в чем смысл этого фрагмента: [...] (PySpam_SystemRETURN (*)PySpam_System_PROTO) [...]
. Я думаю, что это что-то вроде статического броска. Что-то вроде (int(*)(char s))
. Но в чем смысл этой конструкции?
Вы имеете в виду [capsules] (http://docs.python.org/3.1/c-api/capsule.html)? –
Прости, да! Я исправил это. – Sebi2020