MinGW - c ++, winapi, mingw के साथ सिंगल लिंक्ड लिस्ट (स्लीस्ट) इंटरलाक्ड

जब मैं अपने Win32 कोड को माइक्रोसॉफ्ट टूलचैन से मिनीजीडब्लू तक पोर्ट करने का प्रयास करता हूं, तो अधिकांश कोड ठीक से संकलित होते हैं, लेकिन कुछ अपवाद हैं। एक विशेष एपीआई जो कि मिनीजीडब्ल्यू में गायब प्रतीत होता है स्लाइस्ट एपीआई (InitializeSListHead सहित,InterlockedPushEntrySList) - जब मैं अपने स्रोतों को संकलित करता हूं, तो मुझे उन कार्यों के बारे में त्रुटि मिलती है जिन्हें परिभाषित नहीं किया जा रहा है। यह करने के लिए मैं क्या कर सकता हूं मिनीजीडब्ल्यू के तहत उपलब्ध एपीआई? क्या कुछ Win32 SDK मैं अपडेट कर सकता हूं, या ऐसा कुछ?

उत्तर:

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

वर्तमान मिनजीडब्ल्यू (जीसीसी 4.6.2 के आधार पर) में पहले से ही स्लीस्ट एपीआई है, लेकिन आपको यह इंगित करने की आवश्यकता है कि आप विंडोज लक्ष्य के लिए इसे संकलित कर रहे हैं एक प्रीप्रोसेसर मान _WIN32_WINNT परिभाषित करना= 0x0501 या उच्चतम (जो एसपी 1 के साथ विंडोज सर्वर 2003, एसपी 2 के साथ विंडोज एक्सपी) इंगित करता है।


जवाब के लिए 0 № 2

के लिए जाओ http://equation.com और नवीनतम जीसीसी 4.8+ के साथ अपना आदर्श मिनजीडब्ल्यू बिल्ड डाउनलोड करें

Winbase.h से (समीकरण के MinGW / शामिल) में:

#if defined(_SLIST_HEADER_) && !defined(_NTOSP_)
WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER ListHead);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER ListHead);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER ListHead,PSLIST_ENTRY ListEntry);
WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER ListHead);
WINBASEAPI USHORT WINAPI QueryDepthSList(PSLIST_HEADER ListHead);
#endif /* _SLIST_HEADER_ && !_NTOSP_ */

जवाब के लिए 0 № 3

QueryDepthSList(); 4.7.1 हेडर से गायब है। अन्य कार्य वहां हैं।


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