Chcę wystawić warstwę boost::shared_Ptr
na Tcl za pomocą SWIG. ale obecnie nie wiem, czy mogę to ujawnić. Dowiedziałem się, że folder SWIG/Lib zawiera plik interfejsu dla shared_ptr.i
. Ale w treści dowiedziałem się, że nie mogłem jej użyć bezpośrednio. Musi być włączony po "boost_shared_ptr.i
". Ale nie ma to jak boost_shared_ptr.i
w folderze "SWIG/Lib/tcl
", ale mamy podobny interfejs, który mógłbym dołączyć do Javy.Jak udostępnić Boost :: shared_ptr <T> do pliku interfejsu Tcl + SWIG?
Odpowiedz
Nie możesz użyć standardowej shared_ptr? Mam na myśli std :: tr1 :: shared_ptr? W gcc trzeba by
#include <tr1/memory>
Nie mogę użyć std :: tr1 :: shared_ptr, ponieważ moja biblioteka będzie używana zarówno w Javie, jak iw TCL, a ja już wszystko wyeksponowałem na Javie i wygląda na to, że działa dobrze. –
Co więcej, Microsoft nie spełniał zgodności C++ 0x. Działa na WIN XP SP2 lub nowszym, więc jeśli tworzysz projekt, który ma wielu użytkowników, nie możesz go jeszcze użyć. – ST3
Kiedy ostatnio próbowałem nie było dobre wsparcie dla doładowania/shared_ptr we wszystkich SWIG. Python miał najlepszy zasięg. Chcę się dowiedzieć, czy to się zmieniło.
Jeśli chodzi o moje inne doświadczenia z SWIG, należy również utworzyć instancję szablonu przy użyciu% szablonu dla każdego typu, który ma zostać ujawniony.
- 1. jak działa boost :: ~ shared_ptr?
- 2. Różnica między boost :: shared_ptr i std :: shared_ptr ze standardowego pliku <memory>
- 3. Jak celowo usunąć boost :: shared_ptr?
- 4. C++ 0x std :: shared_ptr vs. boost :: shared_ptr
- 5. Różnice między tr1 :: shared_ptr i boost :: shared_ptr?
- 6. Używanie shared_ptr z SWIG Directors dla Java
- 7. Czy możesz zwiększyć SWIG :: opcjonalne <>?
- 8. Czy istnieje sposób na przesłanie pliku shared_ptr <void> do shared_ptr <T>?
- 9. boost :: ptr_container i std :: vector <shared_ptr>
- 10. Initialize Boost shared_ptr w konstruktorze
- 11. Inicjowanie boost :: shared_ptr na NULL
- 12. Dlaczego licznik odwołań w boost :: shared_ptr volatile?
- 13. Jak radzić sobie z ewoluującym C++ std :: namespace? np: std :: tr1 :: shared_ptr vs. std :: shared_ptr vs. boost :: shared_ptr vs. boost :: tr1 :: shared_ptr
- 14. C++ 11 std :: shared_ptr + boost :: serializacja
- 15. Korzystanie z Boost Python & std :: shared_ptr
- 16. boost :: make_shared <T> (...) nie kompiluje, shared_ptr <T> (nowy T (...)) robi
- 17. Czy możesz użyć boost :: shared_ptr jako klucza do mapy?
- 18. Jak korzystać z pliku sed tcl
- 19. Zwiększenie rzutowania shared_ptr do void *
- 20. SWIG, zwiększenie wspólnych wskaźników i dziedziczenia
- 21. Generowanie powiązań SWIG z CMake
- 22. boost :: exception_detail :: clone_impl <boost :: exception_detail :: error_info_injector <boost :: thread_resource_error>>
- 23. Jak udostępnić obiekt zawierający uchwyt pliku?
- 24. Injection dependency C++ - przez odniesienie lub przez boost :: shared_ptr?
- 25. Jak udostępnić konsolę interfejsu API Google innym programistom?
- 26. Jak udostępnić wpis do linkedin
- 27. Inicjacja shared_ptr <T> z unique_ptr <T[]>
- 28. Wartość domyślna dla boost :: shared_ptr na konstruktora klasy
- 29. Szablon argument shared_ptr
- 30. pytanie dotyczące zadania z boost :: shared_ptr (kontra funkcja reset())
Chciałbym pomóc, ale nigdy nie robiłem bindowania C++/Tcl w sposób merytoryczny i na pewno nie zrobiłem tego z SWIG. (Wiem trochę o tym, jak wiązać podstawowe typy, ale 'shared_ptr'? W ogóle nie mam pojęcia, pracuję dużo więcej przy zwykłym starym C ...) –
Nie próbujesz wystawić T jako parametru do Tcl, prawda? – AlexK
Rzeczywiście chcę utworzyć uchwyt dla boost :: shared_ptr w tcl. –