2009-04-08 17 views
6

Wiem, że istnieje wersja ASIO, która nie jest zawarta w przestrzeni nazw Boost, ale nawet wtedy ASIO zależy od Boost, ale zastanawiam się, czy istnieje sposób, aby ASIO działało bez zależności na Boost (bo nie mogę włącz Zwiększ do projektu, z zbyt wielu powodów).Czy istnieje sposób, aby Asio działał bez Boost?

Odpowiedz

10

Nie, nie wierzę w to. ASIO używa boostu tak długo, jak o nim słyszałem. Myślę, że są bardzo ze sobą powiązane. Ale może zainteresować Cię narzędzie, bcp, które pozwala wyodrębnić minimalny podzbiór wzmocnienia wymagany dla bibliotek, których chcesz użyć.

+0

nie miał pojęcia takie narzędzie istnieje, po prostu niesamowite, ja potroić upvote tę odpowiedź, czy mogę :) –

+0

Dzięki! Cieszę się, że mogłem pomóc :) –

+1

Idea asio zawsze miała być dostępna w niezależnej formie od wzmocnienia. I to jest. Google dla "think asio" lub autorskiego bloga .. –

4

Istnieje również wersja non-boost z Asio:

Asio jest w dwóch wariantach: (non-Boost) Asio i Boost.Asio.

Patrz:

http://think-async.com/Asio/

+1

Ale nadal wymaga mnóstwa nagłówków doładowania, mimo że nie jest to częścią doładowania, zostałem również oszukiwany przez nazwę –

+0

Szczerze mówiąc, don's zobaczyć, które nagłówki masz na celu .. Ma własne bity wątku. –

+2

-1 Downvoting. To nie jest prawda, ** asio nadal wymaga plików boost tylko nagłówkowych. ** Powodem separacji było to, że asio ma już olbrzymi obszar nazw, a dodanie boosta powoduje, że jest on dłuższy. Asio jest aktualizowany w innym harmonogramie wydań niż boost, a niektórzy ludzie odczuwają potrzebę aktualizacji asio częściej niż zwiększenie. Wreszcie, użycie ASIO bez 'boost :: bind()' wydaje się prawie niemożliwe! – unixman83

3

"Nieistniejące Boost ASIO" ma swoje własne bity wątku zamiast korzystania boost.thread, ale nadal wymaga boost.date_time, boost.array, impuls. narzędzie, boost.bind, boost.shared_ptr ...

Nie ma wersji Asio, która może działać bez zależności Boost.

+0

Większość prawidłowa i większość kompilatorów TR1 już obsługuje. A data-czas, w którym nie jestem pewien, czy można z niej skorzystać, nie pamiętam. –

+0

właśnie przypomniałem boost.system będący jednym, aby pozbyć się .. pamięci mnie zawodzi. –

1

Najnowsze wersje ASIO mogą pracować bez Boost w trybie autonomicznym. Tryb ten został prawdopodobnie włączony przez obsługę biblioteki C++ 11, ponieważ może teraz używać standardowych wątków, kontraktów terminowych itp. Zamiast ich implementacji Boost. Można po prostu zawierać ASIO jak poniżej i cieszyć:

#define ASIO_STANDALONE 
#include <asio.hpp> 
Powiązane problemy