मैंने SO पर कुछ अन्य प्रश्नों को देखा और यह स्पष्ट नहीं है कि सी, WINAPI के ऊपर, नीचे या उसके साथ सी बनाया गया है या नहीं। उदाहरण के लिए, क्या कोई शुद्ध सी में कुछ लिख सकता है जो खिड़की खोलने में सक्षम था, या क्या उन्हें विंडोज एपीआई का उपयोग करने की आवश्यकता होगी?सी और विंडोज एपीआई के बीच संबंध क्या है?
मैंने विंडोज़ एपीआई संस्करण (CreateFile) बनाम फ़ाइल (फॉपेन) खोलने के सी (लाइब्रेरी?) संस्करण के बीच समानताएं देखीं जो मुझे आश्चर्य करती है कि कोई दूसरे के लिए सिर्फ एक रैपर है या नहीं। क्या कोई जानता है?
यदि खिड़कियां चल रही हैं; एक प्रोग्रामर को विंडोज एपीआई का उपयोग करने के लिए प्रोग्राम करने के लिए मजबूर होना पड़ता है ताकि प्रोग्राम कुछ चल रहा हो या प्रोग्रामर विंडोज एपीआई का उपयोग न कर सके और सीधे हार्डवेयर तक पहुंच सके (यानी विंडोज ऑपरेटिंग सिस्टम हार्डवेयर तक पहुंच की रक्षा करता है)?
जो विंडोज़ सीई की खिड़कियों के विभिन्न संस्करणों के बीच अधिक पोर्टेबल है। प्रलेखन जो मैंने पाया (जो अब बदल गया है) कहता है कि CreateFile केवल विंडोज सीई के संस्करण 2.0 पर वापस चला जाता है (यहां: http://msdn.microsoft.com/en-us/library/ms959950.aspx - बहुत नीचे दिए गए लिंक पर नोट पर ध्यान दें जो समर्थित संस्करण जानकारी बदल दी गई है) । तो विंडोज़ सी संस्करण 1 के लिए उपयोग करने वाला क्या है? दूसरे शब्दों में सी कार्यों का उपयोग कर प्रोग्रामिंग है या WINAPI लेबल वाले फ़ंक्शन विंडोज सीई के सभी संस्करणों पर काम करने की अधिक संभावना है?
मैं के बारे में प्रोग्रामिंग Windows CE एक किताब में निम्नलिखित पढ़ सकते हैं और यह मुझे उलझन में है, इसलिए ऊपर सभी सवालों का निम्न में से अर्थ निकालने के संदर्भ में बेहतर समझा जा सकता:
Windows CE सबसे का समर्थन करता है विंडोज एनटी और विंडोज 98 पर एक ही फाइल I/O फ़ंक्शन पाए गए हैं। वही Win32 API कॉल, जैसे CreateFile, ReadFile, WriteFile और CloseFile, सभी समर्थित हैं। एक विंडोज सीई प्रोग्रामर हालांकि कुछ मतभेदों से अवगत होना चाहिए। सबसे पहले, मानक सी फ़ाइल I/O फ़ंक्शन, जैसे कि फॉपेन, फ़्रेड, और fprintf, विंडोज सीई के तहत समर्थित नहीं हैं। इसी तरह, पुराने Win16 मानकों, _lread, _lwrite, और _llseek, समर्थित नहीं हैं। यह वास्तव में एक बड़ी समस्या नहीं है क्योंकि इन सभी कार्यों को आसानी से विंडोज सीई फ़ाइल कार्यों को कोड की एक छोटी राशि के साथ लपेटकर कार्यान्वित किया जा सकता है।
रैपिंग की मेरी समझ आप रैप करने के लिए कुछ है करने के लिए है कि, यह देखते हुए कि यह कैसे लगता है कि Win16 और ग पुस्तकालय उपलब्ध नहीं हैं वह fopen की अपनी खुद की ग की तरह संस्करण बनाने के लिए CreateFile समारोह रैप करने के लिए यह कहते हुए किया जाता है ? (केवल एक चीज जिसे मैं जानता हूं वह असेंबली है, और यदि वह लपेटने का सुझाव दे रहा था तो उसे इस तरह के आकस्मिक तरीके से नहीं लिखा जाएगा।)
उपरोक्त को देखते हुए, सी के बीच निर्भरता संबंध क्या है भाषा (वाक्यविन्यास, डेटा संरचनाएं, प्रवाह नियंत्रण), सी फ़ंक्शन लाइब्रेरी (उदा। fopen), और windows api (ex। CreateFile)?
कृपया प्रश्न अपडेट करें। आप इस सवाल के मालिक हैं। टिप्पणियां न जोड़ें। वास्तव में पोर्टेबिलिटी की अपनी परिभाषा के साथ सवाल में सुधार। –