मैं विज़ुअल सी ++ का उपयोग कर x86 मशीन के लिए एक एम्बेडेड कर्नेल बनाना चाहता हूं। मेरे पास संकलन करने के लिए कुछ सी और असेंबली कोड फ़ाइलें हैं और मैं उन सभी को एक साथ लिंक करना चाहता हूं जो एक बहुउद्देशीय बूटलोडर जैसे GRUB के साथ संगत है।विजुअल स्टूडियो का उपयोग करके मैं कर्नेल छवि कैसे बना सकता हूं?
उत्तर
OSDev एक wiki entry on Visual Studio, कि विशेष रूप से कौशिक Srenevasan के blogentries मल्टीबूट आधारित bootloaders (GRUB की तरह) से लोड करने के लिए तैयार किया गया है पीई कर्नेल के विषय पर के लिंक के साथ, कुछ अंतर्दृष्टि प्रदान कर सकता है।
बड़े, व्यापक स्ट्रोक योग्य कुछ बातें आपको पता होना चाहिए:
- मल्टीबूट हैडर में, आप Aout kludge का उपयोग करने की जरूरत है।
- आपको लिंकर को/BASE: 0x100000 तर्क निर्दिष्ट करने की आवश्यकता है, इसलिए अंतिम बाइनरी कोड उस स्थान पर आधारित है जहां बूटलोडर इसे डालने जा रहा है।
- आपके कर्नेल के प्रवेश बिंदु (आमतौर पर '
kmain
' कहा जाता है) पर__declspec(noreturn)
होने की आवश्यकता है, और आपको लौटने की बजाय__asm { hlt }
करने की आवश्यकता होगी।
कॉपी-एंड-पेस्ट यहां काम नहीं करता है, या तो गलती को इंगित करता है: ऐसा लगता है कि "... कर्नेल-% 5F03.html का उपयोग कर रहा है", लेकिन "... कर्नल-उपयोग_03.html" होना चाहिए। –
मुझे नहीं पता क्यों, लेकिन मैं इसे एड्रेस बार से कॉपी और पेस्ट कर रहा हूं, और जब मैं संपादित करता हूं तो इसका शाब्दिक '_' होता है - ऐसा लगता है कि किसी भी कारण से इसे बदलना प्रतीत होता है। –
ठीक है, मैंने एसओ टीम को एक ईमेल भेजा, और उन्होंने बताया कि एक लिंक बनाने के अन्य तरीके हैं, इसलिए मैंने इसे काम करने के लिए स्विच किया। –
- 1. जावास्क्रिप्ट का उपयोग करके मैं div कैसे बना सकता हूं और शैली बना सकता हूं?
- 2. मैं पीआईएल छवि से ओपनसीवी छवि कैसे बना सकता हूं?
- 3. मैं पैंडोक का उपयोग करके मार्कडाउन में किसी आकृति का संदर्भ कैसे बना सकता हूं?
- 4. मैं xbuild (मोनो से) का उपयोग कर दृश्य स्टूडियो समाधान कैसे बना सकता हूं?
- 5. मैं linux कर्नेल में malloc() का उपयोग किए बिना बफर कैसे बना सकता हूं?
- 6. मैं विजुअल स्टूडियो समाधान फ़ाइल से मेकफ़ाइल कैसे बना सकता हूं?
- 7. मैं विजुअल स्टूडियो एक्सप्रेस 2010 में इंस्टॉलर (एमएसआई) कैसे बना सकता हूं?
- 8. मैं ग्राडल का उपयोग करके अपने स्रोत का एक ज़िप कैसे बना सकता हूं?
- 9. मैं इंच के बजाय विजुअल स्टूडियो में पिक्सल का उपयोग कैसे कर सकता हूं?
- 10. मैं ओसीआर कार्यक्रम कैसे बना सकता हूं?
- 11. मैं विजुअल स्टूडियो (vb.net) में HtmlEncode (या HtmlDecode) फ़ंक्शन का उपयोग कैसे कर सकता हूं?
- 12. मैं छवि पर आकार को छोटा कैसे बना सकता हूं?
- 13. मैं 80 वर्णों पर विजुअल स्टूडियो रैप लाइन कैसे बना सकता हूं?
- 14. मैं विजुअल स्टूडियो के निर्माण को बहुत वर्बोज़ कैसे बना सकता हूं?
- 15. मैं विजुअल स्टूडियो में कस्टम कमांड कैसे जोड़ सकता हूं?
- 16. मैं एक छवि को सामान्य कैसे बना सकता हूं?
- 17. मैं छवि पर एक परत कैसे बना सकता हूं?
- 18. विजुअल स्टूडियो 2008 में, मैं नियंत्रण कैसे बना सकता हूं + "परिभाषा पर जाएं" पर क्लिक करें?
- 19. विजुअल स्टूडियो 2010 में संख्यात्मक सरणी के लिए मैं कस्टम छवि एडॉर्नर एड-इन कैसे बना सकता हूं?
- 20. मैं वीएस 2012 का उपयोग कर एक (वीएसटीओ) ऑफिस 2007 ऐड-इन कैसे बना सकता हूं?
- 21. मैं विजुअल स्टूडियो प्रोजेक्ट टेम्पलेट कैसे बना सकता हूं जिसमें लिंक की गई फ़ाइलें शामिल हैं?
- 22. मैं कैसे कर सकता हूं: विजुअल स्टूडियो सिंटेक्स हाइलाइटिंग एक्सटेंशन
- 23. कार्यक्रम बंद होने से ठीक पहले मैं विजुअल स्टूडियो ब्रेक कैसे बना सकता हूं?
- 24. nHibernate का उपयोग करके, मैं असामान्य कैसे पढ़ सकता हूं?
- 25. अमरूद का उपयोग करके मैं यह कैसे कर सकता हूं?
- 26. मैं LINQ का उपयोग करके शब्दकोश द्वारा एक नेस्टेड समूह कैसे बना सकता हूं?
- 27. मैं PostgreSQL में फ़ील्ड का उपयोग करके बहुभुज कैसे बना सकता हूं?
- 28. mod_perl का उपयोग करके, मैं अपाचे हैंडल .pl (पर्ल) फ़ाइलों को कैसे बना सकता हूं?
- 29. मैं HTML और css का उपयोग करके एक छोटा रंग बॉक्स कैसे बना सकता हूं?
- 30. मैं CSS3 का उपयोग करके आंतरिक सीमा कैसे बना सकता हूं?
क्या आप वाकई सुनिश्चित हैं कि आप एमएसवीसी पथ को नीचे जाना चाहते हैं? यह एक महान संकलक है लेकिन मुझे लगता है कि यह जीसीसी/मिंगडब्ल्यू –
के साथ बहुत आसान होगा, मुझे लगता है कि जीसीसी/मिनजीडब्ल्यू पीई एक्जिक्यूटिव भी उत्पन्न करेगा। मुझे पर्यावरण में पीई से ईएलएफ के लिए आवश्यक परिवर्तन करना होगा। वीएस का उपयोग करने में इतनी खुशी है, मुझे लगता है कि मैं इसे पसंद करूंगा। –