22 Ekim 2020, 19:25:46

Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d


Python + C

Başlatan z, 14 Mayıs 2020, 08:14:29

z

Bazı fonkiyonları C ile yazsam bu fonksiyonları python satırlarından çağırma imkanım olur mu?


muhittin_kaplan

Alıntı yapılan: z - 14 Mayıs 2020, 08: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.
 

mufitsozen

Alıntı yapılan: z - 14 Mayıs 2020, 08: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.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

mufitsozen

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Tesla.25

Bunun nasil yapildigini bilmiyorum ama var. Python daki birçok fonksiyon C ile yazılmıştır. Ve çok kolay olduğunu okumuştum.

z

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.




z

14 Mayıs 2020, 17:16:29 #7 Son düzenlenme: 14 Mayıs 2020, 17:19:16 z
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?

mufitsozen

Alıntı yapılan: z - 14 Mayıs 2020, 17: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

multiple return value tanimlanabilir. Referans verdigim basligi bastan sona okuman gerekecek. 9.1.3
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

ibocakir

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.