Normal global işlevlerden başka bir şey olmayan bir Python modülüm var. Sadece C DLL'lerini çağırabilen başka bir iş alanı komut dosyası ortamından çağırmam gerekiyor. Python modüllerimi kurmak için bir kod daha var mı, böylece başka bir kod için bir DLL'den dışa aktarılan standart bir C işlevi gibi çağrılabilir mi? Bu bir Windows ortamı içindir. IronPython'un farkındayım, ancak bildiğim kadarıyla, yalnızca C DLL işlevleri olarak kaleme alınmayan .NET Toplulukları oluşturabilir.Python modülünden C benzeri bir DLL oluşturmanın bir yolu var mı?
7
A
cevap
6
this Codeproject makalesine göz atın. Bir yol, python işlevlerinizi bir C dll'ye sarmak ve bunu kallee göstermektir.
COM, bu sorunu çözmek için ikili bir protokoldür. Ama bu python dll'i bir COM sarıcısına sarmanız gerekecek. Ve arama tarafına da biraz kod ekleyin.
3
Standart çözüm, uygulamanızda Python yorumlayıcısını (zaten bir C DLL'si olan) gömmek içindir.
https://docs.python.org/extending/windows.html#using-dlls-in-practice
2
Py2Exe piton kodundan, derleme ve piton kodu + tercüman gömerek COM DLL dosyaları üretebilir. AFAIK, henüz normal DLL dosyalarını desteklemiyor. Bunun için, python'u kendiniz gömme hakkında dirsekle cevap verin.
İlgili konular
- 1. C++ özel niteleyiciler oluşturmanın bir yolu var mı?
- 2. Julia'da Python benzeri bir virtualenv var mı?
- 3. Android: Tost benzeri bir iletişim oluşturmanın iyi bir yolu var mı?
- 4. Bir Arabirimi destekleyen bir DynamicObject oluşturmanın bir yolu var mı?
- 5. Uygulama motorunda GUID oluşturmanın iyi bir yolu var mı?
- 6. Bir dll sürümünü kullanarak zorlamak için bir yolu var mı?
- 7. Tkinter ile şeffaf pencereler oluşturmanın bir yolu var mı?
- 8. Titreyen çizgi çekmeden bir çizgi oluşturmanın bir yolu var mı?
- 9. Linux'ta kullanıcı tanımlı bir sinyal oluşturmanın bir yolu var mı?
- 10. Bir değişkene NodeJs Express görünümü oluşturmanın bir yolu var mı?
- 11. jQuery: özyinelemeli bir çocuk seçici oluşturmanın bir yolu var mı?
- 12. Test verilerinin bulunduğu bir örnek oluşturmanın bir yolu var mı?
- 13. Trigger.io için yerel eklentiler oluşturmanın bir yolu var mı?
- 14. JavaFX'te yol gradyanı oluşturmanın herhangi bir yolu var mı?
- 15. TSQL değişken sabitini oluşturmanın bir yolu var mı?
- 16. Paketli Eklentiler listesini otomatik olarak oluşturmanın bir yolu var mı?
- 17. Julia-lang'de paket bağımlılık ağacı oluşturmanın bir yolu var mı?
- 18. MySQL sonuç kümesinde "sahte" satır oluşturmanın bir yolu var mı?
- 19. Div Scrollbar - Stil oluşturmanın herhangi bir yolu var mı?
- 20. Python'da sınıf özelliği oluşturmanın bir yolu var mı?
- 21. Powershell'de özel türler oluşturmanın basit bir yolu var mı?
- 22. Sadece ISet benzeri bir arayüz var mı?
- 23. PHP'de python-DJANGO benzeri bir şey var mı?
- 24. C harflerini saymanın bir yolu var mı?
- 25. NetworkStream, SerialPort için DataReceived benzeri bir şey var mı? (C#)
- 26. LARGEST_INTEGER makrosu veya benzeri bir şey var mı? (C)
- 27. Özel, bağımsız bir python ortamı oluşturmanın en iyi yolu nedir?
- 28. Elixir'de bir Python Counter sayacı var mı?
- 29. Python argparse: Nargilerde bir aralık belirtmenin bir yolu var mı?
- 30. Git otomatik bir --version seçeneği için bir sürüm numarası dosyası oluşturmanın bir yolu var mı?
+1: en basit yol – jfs