Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Python => Konuyu başlatan: z - 14 Mayıs 2020, 05:14:29

Başlık: Python + C
Gönderen: z - 14 Mayıs 2020, 05:14:29
Bazı fonkiyonları C ile yazsam bu fonksiyonları python satırlarından çağırma imkanım olur mu?
Başlık: Ynt: Python + C
Gönderen: z - 14 Mayıs 2020, 05:19:27
https://www.csestack.org/calling-c-functions-from-python/
Başlık: Ynt: Python + C
Gönderen: muhittin_kaplan - 14 Mayıs 2020, 07:17:26
Alıntı yapılan: z - 14 Mayıs 2020, 05:14:29Bazı fonkiyonları C ile yazsam bu fonksiyonları python satırlarından çağırma imkanım olur mu?
Yapmadım nasıl yapidiginida bilmiyorum. Ama örnekleri var, bazı hızlı çalışması istenilen fonksiyonlar c ile yazılıp cagrilabiliyor. Numpy modülünün kendi yazdığımız modülden hızlı çalışmasının sebebi bu.
 
Başlık: Ynt: Python + C
Gönderen: mufitsozen - 14 Mayıs 2020, 11:35:43
Alıntı yapılan: z - 14 Mayıs 2020, 05:14:29Bazı fonkiyonları C ile yazsam bu fonksiyonları python satırlarından çağırma imkanım olur mu?

Evet.

Ilginc olan Python'u icat eden arkadas ozellikle c/c++ ile "cok kolay"likla beraber calismasini tasarim kriteri olarak en bastan uyguladi.
Başlık: Ynt: Python + C
Gönderen: mufitsozen - 14 Mayıs 2020, 12:00:37
Bkz SWIG

SWIG Master Class (http://www.dabeaz.com/SwigMaster/)
Başlık: Ynt: Python + C
Gönderen: Tesla.25 - 14 Mayıs 2020, 12:50:04
Bunun nasil yapildigini bilmiyorum ama var. Python daki birçok fonksiyon C ile yazılmıştır. Ve çok kolay olduğunu okumuştum.
Başlık: Ynt: Python + C
Gönderen: z - 14 Mayıs 2020, 14:00:32
https://www.csestack.org/calling-c-functions-from-python/

Bu linkteki adimlarla cok kolayca C fonksiyonunu python'dan cagirdim.

Bu cok cok iyi oldu cunku python ile yazdigim programin calisma hizina deli olmaya baslamistim.

PyQT5 ve Python ile user interface kismi C ile de asil program yazilirsa sanirim tum dertlerim bitecek.



Başlık: Ynt: Python + C
Gönderen: z - 14 Mayıs 2020, 14:16:29
Pythonda

a,b,c,d,e,f = myfunc() seklinde fonksiyon cagirip bir suru deger geri donderebiliyoruz.

C de boyle bir sansimiz yok mecburen adres geri donderecegiz.

Pythonda boyle cok deger dondurmek istedigimiz C fonksiyonunu cagirdigimizda geri donus degeri adresden verileri nasil okuyacagiz?
Başlık: Ynt: Python + C
Gönderen: mufitsozen - 14 Mayıs 2020, 14:51:39
Alıntı yapılan: z - 14 Mayıs 2020, 14:16:29Pythonda

a,b,c,d,e,f = myfunc() seklinde fonksiyon cagirip bir suru deger geri donderebiliyoruz.

C de boyle bir sansimiz yok mecburen adres geri donderecegiz.

Pythonda boyle cok deger dondurmek istedigimiz C fonksiyonunu cagirdigimizda geri donus degeri adresden verileri nasil okuyacagiz?

Arguments (http://www.swig.org/Doc1.3/Arguments.html)

multiple return value tanimlanabilir. Referans verdigim basligi bastan sona okuman gerekecek. 9.1.3
Başlık: Ynt: Python + C
Gönderen: ibocakir - 14 Mayıs 2020, 22:04:34
C programını ve python programını haberleştirmek için IPC-Inter Process Communication- yapmak gerekiyor. En temel seviyede işletim sistemi üzerinde socket açıp, C ve python üzerinden haberleşmek gerekiyor.

Diğer yandan redis, zeromq gibi yapıları da kullanabilirsiniz.