क्या विंडोज ड्राइवरों को पायथन में लिखा जा सकता है?क्या विंडोज ड्राइवरों को पायथन में लिखा जा सकता है?
उत्तर
हां। आप "क्लासिक" कर्नेल-मोड ड्राइवर नहीं बना सकते हैं। हालांकि, एक्सपी से शुरू होने पर, विंडोज User-Mode Driver Framework प्रदान करता है। वे सब कुछ नहीं कर सकते हैं, जाहिर है - ओएस को बूट करने में उपयोग किए जाने वाले किसी भी ड्राइवर को स्पष्ट रूप से कर्नेल-मोड होना चाहिए। लेकिन यूएमडीएफ के साथ, आपको केवल COM घटकों को लागू करने की आवश्यकता है।
- हैंडल व्यवधान
- इस तरह के प्रत्यक्ष स्मृति पहुँच (डीएमए) के रूप में सीधे पहुँच हार्डवेयर,
- सख्त समय छोरों है:
बूट समय ड्राइवरों के अलावा, आप भी नहीं UMDF ड्राइवरों कि लिख सकते हैं
- उपयोग गैर-पृष्ठांकित पूल या अन्य संसाधनों है कि अपने अच्छे जवाब के लिए सभी के लिए कर्नेल मोड के लिए आरक्षित हैं
मैं प्रश्न के जवाब में "पायथन = क्रेज़ी" लेखन में मानक लिखने वाला था, लेकिन मुझे लगता है कि एक यूएमडीएफ चालक काम करेगा। दिलचस्प! –
दिलचस्प शब्द है। मैं इसका अध्ययन करूंगा .. – Armageddon
मैं अपनी कंपनी के लिए एक लिनक्स ड्राइवर डेवलपर हूं और अब हम अपने ड्राइवर मंच को स्वतंत्र बनाने के लिए अजगर की खोज कर रहे हैं। उच्च प्रबंधन द्वारा सुझाए गए और इन दिनों आरएनडी कर रहे हैं। –
पायथन वर्चुअल मशीन में चलता है, इसलिए नहीं।
लेकिन:
आप एक संकलक कि मशीन भाषा के लिए अजगर कोड तब्दील लिख सकते हैं। एक बार ऐसा करने के बाद, आप इसे कर सकते हैं।
मैंने अनुमान लगाया कि ऐसा नहीं हो सका। :(आप से .. – Armageddon
या आप ड्राइवर में पाइथन दुभाषिया एम्बेड कर सकते हैं। या कर्नेल में पाइथन दुभाषिया समेत माइक्रोसॉफ्ट से बात करें। तकनीकी रूप से, ऐसा कोई कारण नहीं है कि यह क्यों नहीं किया जा सका। विंडोज़ अभी वर्तमान में ऑफर नहीं करता है आप इसके लिए बहुत समर्थन करते हैं।;) – jalf
कभी कभी नहीं कहते हैं लेकिन हाँ .. कोई
आप ड्राइवरों के उपयोगकर्ता मोड भागों को चलाने के लिए अजगर में एक साथ कुछ हैक करने में सक्षम हो सकता है। लेकिन कर्नेल-मोड सामान केवल सी या असेंबली में किया जा सकता है।
बूह :( वैसे भी धन्यवाद :) मुझे लगता है कि मुझे सी या असेंबली सीखना है ..;) – Armageddon
चालक में दुभाषिया (सी में लिखित) को एकीकृत करने के बारे में क्या है और फिर पाइथन लिपि को निष्पादित करने के लिए ड्राइवर में डेटा के रूप में भी संग्रहीत किया जाता है? –
@ जुज मेगार्डन: यह उपयोगकर्ता-मोड में काम कर सकता है लेकिन कर्नेल-मोड क्या कॉल किया जा सकता है पर बहुत ही सीमित है। संभावना है कि आपका दुभाषिया वहां नहीं चलाएगा। कर्नेल मोड विकास एक काला कला की तरह है। – Mendelt
नहीं वे नहीं कर सकते हैं। विंडोज ड्राइवरों एक भाषा है कि
- सी आधारित एपीआई
- साथ इंटरफेस
फिर मशीन कोड के लिए नीचे संकलित कर सकते हैं में लिखा होना चाहिए, एक संकलक कि अजगर तब्दील लिखने से क्या रोक रहा कुछ भी नहीं है मशीन कोड के लिए;)
हमम .. अगर मैं इस तरह के कंपाइलर को लिखने में सक्षम हो सकता हूं ... मैं वास्तव में पाइथन में ड्राइवर लिखने की परवाह नहीं करता हूं: डी – Armageddon
आवश्यक लेकिन पर्याप्त नहीं – MSalters
मुझे विंडोज़ (मेमोरी आवंटन योजनाओं, पुस्तकालयों के गतिशील लोड और सभी) पर ड्राइवरों पर प्रतिबंधों को नहीं पता है, लेकिन आप अपने ड्राइवर में एक पाइथन दुभाषिया को एम्बेड करने में सक्षम हो सकते हैं, जिस बिंदु पर आप wha कर सकते हैं आप चाहते हैं कि tever। ऐसा नहीं है कि मुझे लगता है कि यह एक अच्छा विचार है :)
यह एक "वसा" और "धीमा" चालक बना देगा :) – Armageddon
मैं वही बात सोच रहा था। हालांकि, लूआ ऐसा IMHO करने के लिए एक बहुत ही बेहतर भाषा होगी। –
300 बॉड मॉडेम के लिए ड्राइवर लिखने के लिए यह सही होगा। ;-) – Nosredna
निश्चित उत्तर आपके अन्यथा सी/असेंबली ड्राइवर में एक दुभाषिया को एम्बेड किए बिना नहीं है। जब तक कि कोई ढांचा उपलब्ध न हो, तब तक जवाब नहीं है। एक बार जब आप दुभाषिया और बाइंडिंग जगह पर हो तो बाकी तर्क पाइथन में किया जा सकता है।
हालांकि, ड्राइवर लिखना उन चीजों में से एक है जिसके लिए सी सबसे उपयुक्त है। मुझे लगता है कि परिणामी पायथन कोड सी कोड की तरह एक बहुत कुछ देखेंगे और दुभाषिया ओवरहेड के उद्देश्य को हराने के लिए।
अंतर्दृष्टि प्राप्त करने का एक अच्छा तरीका ड्राइवरों में सी ++ के उपयोग पर Microsoft's advice पढ़कर व्यावहारिक रूप से असंभव क्यों है। सी के व्युत्पन्न के रूप में, सी ++ का उपयोग सीधा लगता है। अभ्यास में, ऐसा नहीं है।
उदाहरण के लिए, आपको प्रत्येक फ़ंक्शन (और वास्तव में प्रत्येक असेंबली निर्देश) के लिए निर्णय लेना चाहिए कि यह पेजेबल या गैर-पेजेबल मेमोरी में है या नहीं। इसके लिए सी के विस्तार की आवश्यकता है, नई सी ++ सुविधाओं का सावधानीपूर्वक उपयोग, या इस मामले में पाइथन भाषा और वीएम के लिए एक विशेष विस्तार की आवश्यकता है। इसके अतिरिक्त, आपके ड्राइवर-संगत वीएम को विभिन्न आईआरक्यूएल से निपटना होगा - "स्तर" का पदानुक्रम है जो आप कर सकते हैं और क्या नहीं कर सकते हैं।
- 1. कॉफीस्क्रिप्ट में कॉफीस्क्रिप्ट कैसे लिखा जा सकता है?
- 2. रूबी या पायथन में कक्षा की अवधारणा को फिर से लिखा जा सकता है?
- 3. जावा में एक जेवीएम कैसे लिखा जा सकता है
- 4. विंडोज के लिए आईट्यून्स क्या लिखा है?
- 5. पाइथन कहने में कितना ऑपरेटिंग सिस्टम लिखा जा सकता है?
- 6. क्या इटरेटर को पायथन में रीसेट किया जा सकता है?
- 7. क्या एक बाइट [] ऐरे को सी # में एक फ़ाइल में लिखा जा सकता है?
- 8. क्या पाइथन में लिखा गया एक प्रोग्राम ऐप्पलस्क्रिप्ट किया जा सकता है?
- 9. क्या स्ट्रीमवाइटर का उपयोग करके अधिकतम वर्णों को लिखा जा सकता है?
- 10. क्या उस भाषा में प्रोग्रामिंग भाषा का दूसरा कार्यान्वयन लिखा जा सकता है?
- 11. क्या सी # में एन्कोडिंग को जानने के बिना फ़ाइल को छोटे बदलावों के साथ पढ़ा और लिखा जा सकता है?
- 12. क्या विंडोज 7 पर ऐपफैब्रिक तैनात किया जा सकता है?
- 13. ड्राइवरों को कैसे कोड करें?
- 14. FogBugz क्या प्रोग्रामिंग भाषा में लिखा है?
- 15. क्या ऐसी समस्याएं हैं जिन्हें पूंछ रिकर्सन का उपयोग करके लिखा नहीं जा सकता है?
- 16. क्या एचटीएमएल 5 सत्र स्टोरेज डिस्क पर लिखा जा सकता है?
- 17. चुन सकते हैं() विंडोज के तहत पायथन में फ़ाइलों के साथ इस्तेमाल किया जा सकता है?
- 18. क्या सी # कथन का उपयोग कर घुंघराले ब्रेसिज़ के बिना लिखा जा सकता है?
- 19. मेरी पहली विस्तार विधि, क्या इसे बेहतर लिखा जा सकता है?
- 20. लूप का उपयोग कर कौन से पुनरावर्ती कार्यों को फिर से लिखा नहीं जा सकता है?
- 21. System.err (stderr) पर XML पार्सिंग त्रुटियों को कैसे लिखा जा सकता है?
- 22. उस भाषा में भाषा का कंपाइलर कैसे लिखा जा सकता है?
- 23. स्यूडोटेर्मिनल मास्टर ने लिखा है कि उसने अभी लिखा है
- 24. फ़ाइल में नहीं लिखा जा सकता है, भले ही is_writable सही रिटर्न
- 25. लिनक्स में फ़ाइल को सफलतापूर्वक क्यों ले जाया जा रहा है, जबकि इसे लिखा जा रहा है?
- 26. क्या मोंगोडीबी को प्रक्रिया में होस्ट किया जा सकता है?
- 27. लेक्सर जावास्क्रिप्ट में लिखा है?
- 28. पायथन - tempfile.TemporaryFile पढ़ा नहीं जा सकता है; क्यूं कर?
- 29. क्या विंडोज फोन 7 सीरीज एमुलेटर विंडोज एक्सपी पर चलाने के लिए बनाया जा सकता है?
- 30. क्या pdb.set_trace() को अनदेखा किया जा सकता है?
धन्यवाद :) – Armageddon