2013-04-18 8 views
6

बिना असियो अभी भी बूस्ट से अलग विकसित हुआ है, या बूस्ट है। एसीओ अभी भी एकमात्र संस्करण अपडेट किया जा रहा है?बूस्ट

Asio website पर वे दोनों संस्करणों के लाभ होने के बारे में बात करते हैं, और एएसओ बूस्ट की तुलना में अधिक बार अद्यतन किया जाता है। हालांकि, साइट पर नवीनतम देव रिलीज 1.5.3 है, जिसे मार्च 2011 में जारी किया गया था, जबकि फरवरी 2013 से नवीनतम बूस्ट 1.53 रिलीज में एएसओ 1.8.3 शामिल है, जिसमें 1.5.3 के बाद बड़ी संख्या में बदलाव आए हैं।

या तो बूओ-केवल अपडेट के पक्ष में अधिसूचना के बिना एएसओ वेबसाइट को छोड़ दिया गया था, या यह किसी ऐसे स्थान पर स्थानांतरित हो गया है जो मुझे नहीं मिला है। क्या कोई निश्चित रूप से क्या जानता है?

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

मैं एक और हल्के वजन वाली सॉकेट लाइब्रेरी में स्विच करने के लिए तैयार हूं, लेकिन अभी तक एसिओ के रूप में उतना अच्छा नहीं मिला है (कम निर्भरताओं के संदर्भ में और देशी प्लेटफार्म आईओसीपी/एपोल विधियों का उपयोग करके)।

+0

वहाँ भी हालांकि मैं इसे अपने आप का उपयोग नहीं किया है ... – Nim

उत्तर

3

मैं ई-मेल, जिसमें गैर-बढ़ावा संस्करण बनाए रखा है और क्रिस्टोफर Kohlhoff, लेखक, ने कहा कि वह GitHub पर यह कहना है

https://github.com/chriskohlhoff/asio

आज यह देखकर यह नहीं है के माध्यम से पूछा 1.8.3 की तरह लग ऊपर नहीं है, या कम से कम यह तो यह हो सकता है कि वह उस रेपो बनाए रखने बंद कर दिया लेबल नहीं किया गया है।

+0

ऐसा लगता है कि 1.8.3 अब तक नहीं है। मुझे लगता है कि इसका मतलब है कि वह अभी भी उस संस्करण बनाए रखता है। बहुत बढ़िया! – Nairou

6

असियो अलग से विकसित किया गया है, तो को बढ़ाया गया और बूस्ट.एसीओ में विलय हो गया। हालांकि, आप अपनी परियोजना से बूस्ट को हटाने में सक्षम नहीं हो सकते हैं, इस आधार पर कि कौन सी फीचर्स और कंपाइलर का उपयोग किया जा रहा है। Asio 1.10.0 के रूप में, Asio बूस्ट के बजाय समकक्ष सी ++ 11 मानक पुस्तकालयों का उपयोग करने की कोशिश करता है।

  • बूस्ट नाम स्थान और स्थूल नामकरण सम्मेलनों के बिना:

    एसियो मूल रूप से Boost.Asio है।

  • बूस्ट पर निर्भर नहीं है। सिस्टम और बूस्ट। इस दो पुस्तकालयों के स्थान पर आसियो अपनी सीमित कार्यक्षमता प्रदान करता है।

बूस्ट निर्भरता 1.10.0 से पहले एएसओ संस्करणों के लिए मौजूद हो सकती है। ये निर्भरता अक्सर टेम्पलेट्स के भीतर पेश की जाती है; इस प्रकार, निर्भरता केवल तभी हो सकती है जब कोई एप्लिकेशन विशिष्ट कार्यक्षमता का उपयोग करता हो।

एसियो-केवल हेडर फ़ाइल है और सबसे का उपयोग करता है किसी भी बूस्ट पुस्तकालय रूप से लिंक हो की आवश्यकता नहीं है के लिए: यह Asio and Boost.Asio पेज, जहां यह कहा गया है पर सूक्ष्म विस्तार की अनदेखी करने के लिए आसान है। जीसीसी, क्लैंग या एमएसवीसी के हाल के संस्करणों के साथ सी ++ 11 का उपयोग करते समय, जब आप संकलित करते हैं तो ASIO_STANDALONE को परिभाषित करके एएसओ को बूस्ट के स्वतंत्र रूप से उपयोग किया जा सकता है।

  • टाइमर Boost.DateTime या Boost.Chrono पर निर्भर करते हैं:

सामान्य तौर पर, निम्नलिखित विशेषताएं निर्भरता परिचय। Asio 1.10.0 और इससे आगे के लिए, C++ 11 बिल्ड का उपयोग std::chrono का उपयोग किया जाएगा।

  • read_until() रेगेक्स का उपयोग करने वाले ऑपरेशन Boost.Regex पर निर्भर करते हैं।
  • Stackful coroutines जो Boost.Coroutine लाइब्रेरी पर आधारित हैं।

  • यह उपयोग कर रहा पर विचार लायक हो सकता है:

    • BCP बूस्ट के सबसेट अपनी परियोजना की जरूरत पुस्तकालयों को निकालने के लिए।
    • libuv, एक सी पुस्तकालय है कि देशी आई/ओ घटना अधिसूचना से एक अतुल्यकालिक घटना लूप और अमूर्त प्रदान करता है। This जवाब दो पुस्तकालयों तुलना करती है।
    +1

    +1 libuv, इसका वजन से ऊपर है कि पुस्तकालय घूंसे रास्ता पोको है। –