Contribute Media
A thank you to everyone who makes this possible: Read More

ctypes tutorial

Description

Python je dynamický programovací jazyk, ktorý bol navrhnutý tak, aby jeho kritické časti sa dali jednoducho prepísať do jazyka C. Preto sa často stretávame s praxou, že Python knižnice sa nesnažia znovu implementovať funkcionalitu ale poskytujú wrapper už existujúcej C knižnice. Implementácia takéhoto wrappera pomocou API python interpretera môže byt náročnejšia pretože si vyžaduje znalosť programovania v jazyku C a znalosť Python/C API. Navyše pri programovaní musíme priamo alebo nepriamo pracovať s pamäťou, čo môže viesť k chybám spôsobujúcim únik pamäte. Takéto riešenie má taktiež problém s prenositeľnosťou na alternatívne implementácie Pythonu (napr. PyPy, Jython).

Väčšinu týchto problémov rieši knižnica ctypes. ctypes je súčasťou štandardnej distribúcie Pythonu. Poskytuje možnosť volania C funkcií priamo z Pythonu bez nutnosti programovania v jazyku C.

V rámci prezentácie bude predstavená ctypes knižnica s príkladmi definovania API obsahujúce zložitejšie štruktúry a funkcie. V rámci praktického príkladu vytvoríme python wrapper nad openldap knižnicou libldap.

Details

Improve this page