2011-11-04 10 views
12

मैं एक सी ++ लाइब्रेरी में एक सी इंटरफेस लिखने की प्रक्रिया में हूं, और मैं कुछ उच्च गुणवत्ता वाले उदाहरणों (या सर्वोत्तम प्रथाओं) की तलाश में हूं।सी इंटरफ़ेस के सी ++ पुस्तकालयों के उदाहरण?

अब तक यह एक बहुत आशाजनक लगता है: http://czmq.zeromq.org/manual:czmq

कोई अन्य सुझाव?

+0

मैं सिर्फ ZeroMQ सिफारिश करने के लिए जा रहा था, खुशी है कि मैं :) –

+0

संभावित डुप्लिकेट के माध्यम से सवाल पढ़ें: http://stackoverflow.com/q/7953559/440558 –

+0

निश्चित रूप से उस प्रश्न का डुप्लिकेट नहीं है। यह प्रश्न उदाहरण के लिए पूछता है कि इसे कैसे किया जाए (यानी, सी ++ एपीआई के आधार पर सी एपीआई को कैसे डिज़ाइन किया जाए)। वह अन्य प्रश्न पूरी तरह से इसे करने के मूल यांत्रिकी में रूचि रखता है। –

उत्तर

0

यदि आपकी सी ++ लाइब्रेरी विंडोज पर COM के रूप में लिखी गई है। इसके लिए सी इंटरफ़ेस स्वचालित रूप से उत्पन्न करने के लिए टूल हैं।

1

आप अच्छी तरह से लिखित सी ++ लाइब्रेरी में उत्कृष्ट सी इंटरफेस के उदाहरण के रूप में Parma Polyhedra Library देख सकते हैं। पीपीएल एक मुफ्त जीपीएल-एड सॉफ्टवेयर है, विशेष रूप से GCC कंपाइलर के अंदर उपयोग किया जाता है।

0

मैं FTGL का सुझाव दे सकता हूं जो एक सी ++ लाइब्रेरी है जो एक सी इंटरफेस प्रदान करता है।

भी ध्यान रखें कि FTGL क्रम संस्करणों में दोहरी संगतता को प्राप्त करने के pImpl paradigm उपयोग करता है: यहाँ दो नमूना प्रोग्राम हैं जो बिल्कुल वही बात को प्राप्त कर रहे हैं। here देखें यह अच्छा क्यों है।

अस्वीकरण: मैं एक एफटीजीएल योगदानकर्ता हूं।

0

libzmq अजीब मामले की तरह है के बाद से निम्न स्तर सी एपीआई मूल POSIX सॉकेट की तरह लग रहे चाहिए था, और पूरी तरह से नहीं वस्तु उन्मुख (हमने इसे समय के साथ और अधिक सुसंगत और संगठित किया)। इस बीच वास्तविक पुस्तकालय सी ++ में है।

सी ++ - टू-सी इंटरफ़ेस libzmq/src/zmq.cpp में है, और इसमें सरल सी फ़ंक्शंस का एक समूह शामिल है जो 'असली' C++ कोड को कॉल करता है।

दूसरी ओर सीजेएमएमक्यू कुछ और अधिक उत्तम दर्जे का लक्ष्य रखता है, जो रचनाकारों, विनाशकों, कंटेनरों, निजी गुणों आदि के साथ एक साधारण वर्ग मॉडल प्रदान करता है। कुछ भी कट्टरपंथी नहीं है लेकिन सी को एक और अधिक सुरुचिपूर्ण भाषा में बदल देता है।

मुझे यकीन नहीं है कि CZMQ क्लास दृष्टिकोण सी ++ एपीआई पर कितना अच्छा होगा जब तक कि एपीआई स्पष्ट रूप से मैप किए जाने के लिए डिज़ाइन नहीं किया गया था।

अस्वीकरण: मैं अधिकांश सीजेडएमक्यू का लेखक हूं।

1

एक और उच्च गुणवत्ता वाला उदाहरण Open Dynamics Engine है। इसमें सी ++ बैकएंड और सी सी फ्रंटेंड है। सब कुछ सी लिंक करने योग्य है।

संबंधित मुद्दे