Názor k článku Propojení Pythonu s nativními knihovnami s využitím balíčku cffi od Pavel Tišnovský - ctypes nemá žádné informace o tom, jakého typu...

  • Článek je starý, nové názory již nelze přidávat.
  • 30. 5. 2023 10:03

    Pavel Tišnovský
    Zlatý podporovatel

    ctypes nemá žádné informace o tom, jakého typu mají být parametry. Proto jen předpokládá mapování mezi typy Pythonu a typy v céčku. V praxi to znamená, že vše bude na současných architekturách funkční pro malé inty v Pythonu, pro float, a pro řetězce (a do intů se pochopitelně řadí i True/False).

    U ostatných typů parametrů dojde v nejlepším případě k běhové chybě (jak je ukázáno), v horším případě k předání "divné" hodnoty a v nejhorším případě bude vše jakoby funkční, ale v praxi se poruší zásobník (například pokud je funkce volána často nebo v určitém pořadí). I z tohoto důvodu není ctypes (podle mého názoru) vhodné řešení.