आज मैंने डी प्रोग्रामिंग के बारे में सुना और यह सी कोड के अनुकूल है। फिर भी मुझे कोई जानकारी नहीं मिली है कि डी से जीटीके या पोर्टऑडियो जैसे सी पुस्तकालयों का उपयोग करना संभव है या नहीं? यदि यह संभव है, तो क्या आप यह समझा सकते हैं कि यह कैसे करें?डी से सी पुस्तकालय का उपयोग कैसे करें?
उत्तर
डी से सी पुस्तकालयों को कॉल करना संभव है। सी हेडर फ़ाइलों को डी में परिवर्तित करने के लिए आपको क्या करना है। अधिकांश भाग के लिए यह बहुत सरल है, और उपयोग करने में कठोर उपयोग command-line tool है प्रक्रिया स्वचालित करें। खिलौनों के उदाहरणों के अलावा यह वास्तव में मेरे लिए कभी भी काम नहीं करता है, लेकिन यह बदलने की ज़रूरत है कि किस तरह के बदलाव किए जाने की जरूरत है। बस एक स्निपेट डालें जिसमें आपको हेडर में अनुवाद करने में परेशानी हो रही है और देखें कि इसके साथ क्या है।
सबसे बड़ी समस्या जो आपको आम तौर पर मिलती है वह सी प्रीप्रोसेसर का रचनात्मक उपयोग है। कुछ चीजों को डी में संस्करण() कथन में बदल दिया जा सकता है, लेकिन सभी नहीं।
वास्तव में कोड के साथ संकलन और लिंक करने के लिए, यूनिक्स जैसी प्लेटफ़ॉर्म पर मुझे लगता है कि आप जीसीसी का उपयोग करके सी कोड में संकलित और लिंक कर सकते हैं। विंडोज़ पर आपको या तो डीएमसी का उपयोग करके सी फाइलों को संकलित करना होगा और डीएमडी से लिंक करना होगा। या आप सी कोड को किसी भी कंपाइलर का उपयोग करके डीएलएल में संकलित कर सकते हैं, और उसके बाद डीएमडी से लिंक करने के लिए आपको डीएलएल से डीएमडी-संगत आयात lib बनाने की आवश्यकता है। यह DigitalMars से उपलब्ध Basic Utilities Package में पाए गए इम्प्लिब टूल का उपयोग करके किया जा सकता है।
इनमें से बहुत सारे हेडर अनुवाद पहले से ही किए जा चुके हैं। पहले डीएसओएस की Bindings प्रोजेक्ट ब्राउज़ करना उपयोगी है, या जीटीके हेडर का अनुवाद करने की तरह कुछ बड़ा शुरू करने से पहले डिजिटाल्मर डी न्यूज ग्रुप से पहले पूछें। जीटीके जैसे लोकप्रिय पुस्तकालयों का एक बहुत पहले से ही लिपटे दिया है (उदाहरण के लिए यहाँ: GTKD)
डी कोड सी ऑब्जेक्ट फाइलों से जोड़ा जा सकता है, और सी डीएलएस के साथ बातचीत कर सकता है, लेकिन आपको उस सी हेडर फ़ाइल से डी मॉड्यूल जेनरेट करना होगा जिसे आप उपयोग करना चाहते हैं। आधिकारिक डी वेबसाइट में बहुत कुछ करने के लिए a guide है।
http://dsource.org पर एक नजर डालें कई परियोजनाओं है कि आप
आप सी बाइंडिंग लिखने की ज़रूरत के साथ शुरू प्राप्त करने के लिए मदद कर सकता है कर रहे हैं। This answer बताते हैं कि कैसे।
लोकप्रिय विकल्प रन-टाइम के दौरान लाइब्रेरी को लोड करना है।
module libpngtest;
import std.stdio;
import core.sys.posix.dlfcn;
alias uint function() png_access_version_number_t;
int main() {
auto lib = dlopen("libpng.so".ptr, RTLD_LAZY | RTLD_LOCAL);
if (lib is null) {
writeln("EEEK!");
writeln(to!string(dlerror()));
return -1;
} else {
writeln("WOOT!");
auto png_access_version_number = cast(png_access_version_number_t)dlsym(lib, "png_access_version_number");
writeln(png_access_version_number());
}
if (dlclose(lib) == 0) {
return 0;
} else {
return -1;
}
} // main() function
// compile: dmd libpngtest.d -L-ldl
// run: ./libpngtest
यह परीक्षण करने के लिए DPaste का उपयोग करें:: http://www.dpaste.dzfl.pl/917bc3fb
यहाँ एक उदाहरण है कि कैसे libpng लोड और एक libpng समारोह कॉल करने के लिए है- 1. एंड्रॉइड: "उपयोग-पुस्तकालय" का उपयोग कैसे करें?
- 2. जीसीसी का उपयोग कर आवश्यक सी पुस्तकालय कैसे शामिल करें?
- 3. जीसीसी का उपयोग कर सी पर पुस्तकालय संकलित कैसे करें?
- 4. डी भाषा से सी ++ (सी) कॉल करें
- 5. विरासत से सी ++ मानक पुस्तकालय का विस्तार?
- 6. सी पुस्तकालय कार्यों को उपनाम कैसे करें?
- 7. फ़ंक्शन से मैट्रिक्स (2 डी सरणी) कैसे वापस करें? (सी)
- 8. माइक्रोसॉफ्ट एंटीएक्सएसएस पुस्तकालय का उपयोग क्यों करें?
- 9. एक्सेल से एसक्यूएल, सी # पुस्तकालय
- 10. डी में @property का उपयोग क्यों करें?
- 11. सरल सी छवि पुस्तकालय?
- 12. सी # पुस्तकालय?
- 13. एक अच्छा 3 डी जाल पुस्तकालय
- 14. 2 डी सरणी में तत्वों का उपयोग कैसे करें?
- 15. सी मानक पुस्तकालय का स्थान
- 16. सी पुस्तकालय
- 17. 3 डी सरणी सी ++ का उपयोग कर पूर्णांक [] ऑपरेटर
- 18. डी के लिए छवि प्रसंस्करण पुस्तकालय?
- 19. सी # का उपयोग कर स्ट्रिंग से बारकोड कैसे उत्पन्न करें?
- 20. एफ # से सी # ऑब्जेक्ट का उपयोग कैसे करें?
- 21. लिनक्स साझा पुस्तकालय सी ++
- 22. सी #: SHOpenFolderAndSelectItems का उपयोग कैसे करें
- 23. सी #: Enumerable.Aggregate विधि का उपयोग कैसे करें
- 24. सी # इंटरफेस का उपयोग कैसे करें
- 25. सी में 2 डी सरणी और सूचक - तत्वों का उपयोग कैसे करें?
- 26. जेसनपाथ का उपयोग कर सी # उदाहरण का उपयोग कैसे करें?
- 27. सी में संरचना का उपयोग कैसे करें?
- 28. सी ++ में एनएलओजी का उपयोग कैसे करें?
- 29. सी # में Guids का उपयोग कैसे करें?
- 30. सी # में छिपकली का उपयोग कैसे करें