Portál AbcLinuxu, 10. května 2025 05:28

Dotaz: Vyuziti zdrojaku v C v Pythonu

9.3.2010 15:52 Matej Slegr
Vyuziti zdrojaku v C v Pythonu
Přečteno: 154×
Odpovědět | Admin
Dobry den,

mam knihovnu v jazyce C a potreboval bych ji pouzit v mem projektu, ktery je psan v pythonu. Cetl jsem napriklad tento clanek:

http://www.root.cz/clanky/vytvarime-v-c-cpp-modul-pro-python/

Ale ten resi to, ze modul v C si rovnou pro Python napiseme. Premyslel jsem, ze knihovnu bych mohl predelat, aby obsahovala pouze funkce vracejici int nebo char*. Bylo potom takoveto funkce nejak mozne zavolat v python skriptu s tim ze bych dostal vysledek (cislo nebo retezec)?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2010 16:08 l4m4
Rozbalit Rozbalit vše Re: Vyuziti zdrojaku v C v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžeš použít pygobject-codegen, sice je primárně určen pro zabalení GObjectů pro Python, ale umí generovat wrappery i pro normální funkce, pokud rozumí, co dělají s argumenty a co je návratová hodnota. Co nepochopí, to ho lze doučit nebo wrappery dopsat ručně.

Další možnost je gobject-introspection (GIR), který je možná budoucnost, zatím je v dost vývojovém stavu, ale pro tvoje použití by asi stačil a generuje jazykově neutrální informace o funkcích, za kterých pak lze vyrobit bindings pro různé jazyky.
multi avatar 9.3.2010 17:41 multi | skóre: 38 | blog: JaNejsemOdsut
Rozbalit Rozbalit vše Re: Vyuziti zdrojaku v C v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
moc nechapu kde je problem, ja kdyz jsem z vyssiho jazyku pristupoval do C, tak jsem dycky musel napsat jeste dalsi kod okolo a bylo to

pokud ti jde o dobre zabaleni objektu tak to jde taky, a clanek kterej to nastinoval byl take myslim na rootu

Fitness ajťák: kutilův web; bezdrátová čidla teploty vývoj softwaru linux server
Fuky avatar 9.3.2010 17:50 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Vyuziti zdrojaku v C v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud se Ti nechce psát wrapper, tak můžeš použít SWIG, případně pokud potřebuješ jen pár funkcí, tak si můžeš knihovnu natáhnout a používat přímo v Pythonu pomocí 16.15. ctypes — A foreign function library for Python (ukázka).
-- RÁMO: psí tábor , ETriatlon: Výuka plavání
Fuky avatar 9.3.2010 17:57 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Vyuziti zdrojaku v C v Pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě by se Ti mohl hodit Cython: C-Extensions for Python.
-- RÁMO: psí tábor , ETriatlon: Výuka plavání

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.