WINAPI इतना अनावश्यक क्यों है? [डुप्लिकेट] - winapi

मैंने अभी WINAPI को देखना शुरू कर दिया है, और विंडोज डेटा प्रकार वेबपृष्ठ पर मैंने जो पहली चीज देखी है वह अनावश्यकता है। उदाहरण के लिए LONG32 को बेसटीएसडीएच में घोषित किया गया है

typedef signed int LONG32;

और INT32, BaseTsd.h में भी घोषित किया गया

typedef signed int INT32;

IntWafe.h में DWORD घोषित किया गया है

typedef unsigned long DWORD

जबकि उलंग को WinDef.h में घोषित किया गया है

typedef unsigned long ULONG;

विभिन्न डेटा प्रकार क्यों हैं, यदि वे अभ्यास में समान हैं?

इसके अलावा, हमारे पास यह है

typedef HANDLE HCONVLIST; //A handle to a DDE conversation list.
typedef HANDLE HDC; //  A handle to a device context (DC).
typedef HANDLE HDDEDATA; // A handle to DDE data.

अलग-अलग डेटा प्रकार क्यों हैं, अगर वे हैंडल के सभी प्रकार हैं?

उत्तर:

उत्तर № 1 के लिए 1

इस पर निर्णय किए गए थे 40 साल पहले, एक समय जब कोई अच्छी तरह से स्थापित सी नहीं थेमानकों। एपीआई अभी भी काम कर रहा है। विंडोज 3.1 के लिए लक्षित 30 साल पहले लिखे गए सॉफ़्टवेयर में अभी भी विंडोज 10 के तहत चलने का एक बड़ा मौका है। कई एपीआई इतने लंबे समय तक नहीं बच पाए हैं, या इतने सारे डेवलपर्स द्वारा उपयोग किए जाते हैं।

Typedefs की तरह HDC संकेत का एक और स्तर जोड़ें, लेकिन इरादे को और स्पष्ट करें। एक HDC परिवर्तनीय को किसी डिवाइस संदर्भ को इंगित करना चाहिए और कुछ और नहीं। यह कुछ ऐसा करने के समान है typedef unsigned int Age; यह स्पष्ट करने के लिए कि एक चर को आयु मान को स्टोर करना चाहिए, उदाहरण के लिए पोर्ट नंबर की तरह कुछ और नहीं।


संबंधित सवाल
सबसे लोकप्रिय