/
githubmirror
/
cpython
Обзор
Документация
Войти
/
githubmirror
/
cpython
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Include/Python.h
153 строки
4 KB
Petr Viktorin
gh-149044: Implement PEP 820 – PySlot: Unified slot system for the C API (GH-149055)
05 май 2026, 10:18
Не верифицирован
05 май 2026, 10:18
508b498
Код
Авторство
О чём код?
// Entry point of the Python C API. // C extensions should only #include <Python.h>, and not include directly // the other Python header files included by <Python.h>. #ifndef Py_PYTHON_H #define Py_PYTHON_H // Since this is a "meta-include" file, "#ifdef __cplusplus / extern "C" {" // is not needed. // Include Python configuration headers #include "patchlevel.h" // the Python version #include "pyconfig.h" // information from configure #include "pymacconfig.h" // overrides for pyconfig #include "pyabi.h" // feature/ABI selection // Include standard header files // When changing these files, remember to update Doc/extending/extending.rst. #include <assert.h> // assert() #include <inttypes.h> // uintptr_t #include <limits.h> // INT_MAX #include <math.h> // HUGE_VAL #include <stdarg.h> // va_list #include <string.h> // memcpy() #include <wchar.h> // wchar_t #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> // ssize_t #endif // <errno.h>, <stdio.h> and <stdlib.h> headers are no longer used // by Python, but kept for the backward compatibility of existing third party C // extensions. They are not included by limited C API version 3.11 and newer. // // The <ctype.h> and <unistd.h> headers are not included by limited C API // version 3.13 and newer. #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000 # include <errno.h> // errno # include <stdio.h> // FILE* # include <stdlib.h> // getenv() #endif #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030d0000 # include <ctype.h> // tolower() # ifndef MS_WINDOWS # include <unistd.h> // close() # endif #endif #if !defined(Py_LIMITED_API) # if defined(Py_GIL_DISABLED) # if defined(_MSC_VER) || defined(__MINGW32__) # include <intrin.h> // __readgsqword() # endif # endif #endif // Py_GIL_DISABLED #ifdef _MSC_VER // Ignore MSC warning C4201: "nonstandard extension used: nameless // struct/union". (Only generated for C standard versions less than C11, which // we don't *officially* support.) __pragma(warning(push)) __pragma(warning(disable: 4201)) #endif // Include Python header files #include "pyport.h" #include "exports.h" #include "pymacro.h" #include "pymath.h" #include "pymem.h" #include "pytypedefs.h" #include "pybuffer.h" #include "pystats.h" #include "pyatomic.h" #include "cpython/pylock.h" #include "critical_section.h" #include "object.h" #include "refcount.h" #include "objimpl.h" #include "slots.h" #include "slots_generated.h" #include "pyhash.h" #include "cpython/pydebug.h" #include "bytearrayobject.h" #include "bytesobject.h" #include "unicodeobject.h" #include "pyerrors.h" #include "longobject.h" #include "cpython/longintrepr.h" #include "boolobject.h" #include "floatobject.h" #include "complexobject.h" #include "rangeobject.h" #include "memoryobject.h" #include "tupleobject.h" #include "listobject.h" #include "dictobject.h" #include "cpython/odictobject.h" #include "enumobject.h" #include "setobject.h" #include "methodobject.h" #include "moduleobject.h" #include "cpython/monitoring.h" #include "cpython/funcobject.h" #include "cpython/classobject.h" #include "fileobject.h" #include "pycapsule.h" #include "cpython/code.h" #include "pyframe.h" #include "traceback.h" #include "sliceobject.h" #include "cpython/cellobject.h" #include "iterobject.h" #include "cpython/initconfig.h" #include "pystate.h" #include "cpython/genobject.h" #include "descrobject.h" #include "genericaliasobject.h" #include "cpython/sentinelobject.h" #include "warnings.h" #include "weakrefobject.h" #include "structseq.h" #include "cpython/picklebufobject.h" #include "cpython/pytime.h" #include "codecs.h" #include "pythread.h" #include "cpython/context.h" #include "modsupport.h" #include "compile.h" #include "pythonrun.h" #include "pylifecycle.h" #include "ceval.h" #include "sysmodule.h" #include "audit.h" #include "osmodule.h" #include "intrcheck.h" #include "import.h" #include "abstract.h" #include "bltinmodule.h" #include "cpython/pyctype.h" #include "pystrtod.h" #include "pystrcmp.h" #include "fileutils.h" #include "cpython/pyfpe.h" #include "cpython/tracemalloc.h" #ifdef _MSC_VER __pragma(warning(pop)) // warning(disable: 4201) #endif #endif /* !Py_PYTHON_H */