dll एक डी डीएलएल एसएएस के भीतर काम कर सकता है?



sas (1)

मैं डी कुकबुक पढ़ रहा हूं और शुरुआत के करीब ही निम्नलिखित वाक्य है:

डी सी के साथ द्विआधारी संगत है, लेकिन स्रोत संगत नहीं है।

एसएएस उपयोगकर्ताओं को एसएएस के भीतर से सी फ़ंक्शन परिभाषित करने और कॉल करने की अनुमति देता है । लेकिन मैं सोच रहा हूं, क्या यह डी से भी करना संभव होगा?

मैंने एडम रूप्पे का जवाब यहां एक DLL बनाने के लिए पाया, और मैंने इसे एसएएस दस्तावेज से डीएलएल का उदाहरण बनाने की कोशिश की; हालांकि, जब भी मैं इसे कॉल करने के लिए जाता हूं, DLL लोड हो जाता है, और फिर एसएएस दुर्घटना के लिए आय करता है (बिना किसी क्रैश लॉग के लिए जो मुझे मिल सकता है)


हां, आप डी में DLL लिख सकते हैं जो सी API का उपयोग या कार्यान्वित करते हैं।

आपको यह सुनिश्चित करना होगा कि फ़ंक्शन के हस्ताक्षर और कॉलिंग सम्मेलनों से मिलान हो। आपके द्वारा लिंक किए गए पृष्ठ में, कॉलिंग सम्मेलन को stdcall रूप में दर्शाया गया है, इसलिए आपके डी फ़ंक्शन को extern(Windows) या extern(System) साथ एनोटेट करने की आवश्यकता है।