Python Yorumlayıcısını Genişletme ve Gömme¶
Bu belge, Python yorumlayıcısını yeni modüllerle genişletmek için C veya C++’da modüllerin nasıl yazılacağını açıklar. Bu modüller sadece yeni fonksiyonları değil, aynı zamanda yeni nesne tiplerini ve metotlarını da tanımlayabilir. Belge ayrıca Python yorumlayıcısının bir uzantı dili olarak kullanılmak üzere başka bir uygulamaya nasıl yerleştirileceğini de açıklar. Son olarak, temeldeki işletim sistemi bu özelliği destekliyorsa, uzantı modüllerinin yorumlayıcıya dinamik olarak (çalışma zamanında) yüklenebilmesi için nasıl derleneceğini ve bağlanacağını gösterir.
This document assumes basic knowledge about C and Python. For an informal introduction to Python, see Python Öğreticisi. Python Dil Referansı gives a more formal definition of the language. Python built-ins reference documents the built-in functions and object types, and The Python standard library documents the modules (both built-in and written in Python) that give the language its wide application range.
Tüm Python/C API’sinin ayrıntılı açıklaması için ayrı Python/C API reference manual’a bakın.
Önerilen üçüncü taraf araçları¶
This guide only covers the basic tools for creating extensions provided as part of this version of CPython. Some third party tools offer both simpler and more sophisticated approaches to creating C and C++ extensions for Python.
Üçüncü taraf araçları olmadan uzantılar oluşturma¶
Kılavuzun bu bölümü, üçüncü taraf araçlardan yardım almadan C ve C++ uzantıları oluşturmayı kapsar. Kendi C uzantılarınızı oluşturmanız için önerilen bir yol olmaktan ziyade, öncelikle bu araçların yaratıcılarına yöneliktir.
Ayrıca bakınız
PEP 489 – Multi-phase extension module initialization
- 1. Extending Python with C or C++
- 1.1. A Simple Example
- 1.2. Intermezzo: Errors and Exceptions
- 1.3. Back to the Example
- 1.4. The Module’s Method Table and Initialization Function
- 1.5. Compilation and Linkage
- 1.6. Calling Python Functions from C
- 1.7. Extracting Parameters in Extension Functions
- 1.8. Keyword Parameters for Extension Functions
- 1.9. Building Arbitrary Values
- 1.10. Reference Counts
- 1.11. Writing Extensions in C++
- 1.12. Providing a C API for an Extension Module
- 2. Defining Extension Types: Tutorial
- 3. Defining Extension Types: Assorted Topics
- 4. Building C and C++ Extensions
- 5. Windows’ta C ve C++ Uzantıları Oluşturmak
CPython çalışma zamanını daha büyük bir uygulamaya gömme¶
Bazen, ana uygulama olarak Python yorumlayıcısının içinde çalışan bir uzantı oluşturmak yerine, bunun yerine CPython çalışma zamanını daha büyük bir uygulamanın içine gömmek tercih edilir. Bu bölüm, bunu başarılı bir şekilde yapmakla ilgili bazı ayrıntıları içerir.