Windows API पहले 1980 के दशक में वापस बनाया गया था, और पिछले कुछ वर्षों में कई अलग अलग सीपीयू आर्किटेक्चर और compilers समर्थन करने के लिए पड़ा है। वे एकल-उपयोगकर्ता एकल-प्रक्रिया स्टैंडअलोन सिस्टम से नेटवर्क किए गए बहु-उपयोगकर्ता बहु-कोर सुरक्षा-जागरूक सिस्टम में चले गए हैं। उन्हें 16-बिट बनाम 32-बिट प्रोसेसर, और अब 64-बिट प्रोसेसर के साथ समस्याओं के आसपास काम करना पड़ा। उन्हें प्री-एएनएसआई सी कंपाइलर्स के साथ मुद्दों के आसपास काम करना पड़ा। उन्हें शुरुआती गैर-मानकीकृत समय में सी ++ कंपाइलर्स का समर्थन करना पड़ा। उन्हें खंडित स्मृति से निपटना पड़ा। यूनिकोड अस्तित्व से पहले उन्हें अंतर्राष्ट्रीयकरण का समर्थन करना पड़ा। उन्हें एमएस-डॉस के साथ ओएस/2 और मैक ओएस के साथ कुछ स्रोत-स्तरीय संगतता का समर्थन करना पड़ा। उन्हें इंटेल चिप्स, और पावरपीसी, और एमआईपीएस, और अल्फा, और एआरएम की कई पीढ़ियों पर चलना पड़ा। डेस्कटॉप, सर्वर, मोबाइल और एम्बेडेड सिस्टम के लिए एक ही मूल एपीआई का उपयोग किया जाता है।
1980 के दशक में वापस, सी, एक उच्च स्तरीय भाषा (हाँ माना जाता था वास्तव में!) और कई लोगों ने इसे आदिम int
, char
, या void *
के रूप में सबकुछ निर्दिष्ट करने के बजाय अमूर्त प्रकारों का उपयोग करने के लिए अच्छा रूप माना। वापस जब हमारे पास इंटेलिसेन्स और इंफोटिप्स और कोड ब्राउज़र और ऑनलाइन दस्तावेज़ नहीं थे और जैसे, ऐसे उपयोग संकेत उपयोगी थे, और यह विभिन्न कंपेलरों और विभिन्न प्रोग्रामिंग भाषाओं के बीच पोर्ट कोड को आसान बनाता है।
हां, यह एक भयानक गड़बड़ है, लेकिन इसका मतलब यह नहीं है कि उन्होंने कुछ भी गलत किया है।
स्रोत
2010-04-15 18:36:46
न केवल यह सी है, बल्कि Win16 (यानी 16 बिट) से Win32 तक बड़े स्विच से बचा है। कुछ प्रकार (वास्तव में # परिभाषित) भी कुख्यात हंगरी नोटेशन के पहलुओं को व्यक्त करते हैं जो उस समय प्रचलित थे। इसके अलावा, # परिभाषाओं के पीछे वास्तविक प्रकार छुपाकर, एमएस विभिन्न सी संकलक विक्रेताओं का समर्थन करने में सक्षम था; मान लीजिए या नहीं, फिर कई अलग-अलग सी कंपाइलर विक्रेता थे। जाली सी, वाटकॉम सी, और कई अन्य लोगों के नाम भूल गए। आह .... यादें। – kmontgom
यूनिट "हस्ताक्षरित int" है। –
WCHAR एक * चौड़ा * चरित्र, यूटीएफ -16LE है। यह प्रति चरित्र 2 बाइट लेता है। इसे ध्यान में रखते हुए, आप शायद अनुमान लगा सकते हैं कि क्या होगा यदि आपने इसे नियमित रूप से चार सरणी के रूप में उपयोग करने का प्रयास किया था। –