Mam wiele bibliotek napisanych w C++. Chcę wywoływać te biblioteki z C#, jednak napotkałem wiele problemów. Chcę wiedzieć, czy istnieje książka lub wytyczne, które powiedzą mi, jak to zrobić.Wywołanie biblioteki C++ w języku C#
Odpowiedz
Niedawno miałem owinąć trochę kodu C++ .NET. Chociaż kod C++ został spakowany jako biblioteka dll, interfejs był zbyt nieprzyjazny dla P/Invoke, więc postanowiłem napisać go w zarządzanym C++ lub C++/CLI, ponieważ jest on obecnie znany.
Znalazłem this tutorial bardzo przydatne w składni. To nie jest łatwe dla oka, ale treść wydawała się całkiem dobra.
Jeśli używasz google "C++ C# interop", znajdziesz mnóstwo informacji na ten temat.
Kilka linków:
http://msdn.microsoft.com/en-us/magazine/cc301501.aspx
http://msdn.microsoft.com/en-us/library/ms235281(VS.80).aspx
Jestem wielkim fanem książki C++/CLI in Action który ma kilka przydatnych przykładowych rozdziałów online pod tym adresem.
Ten intro on CodeProject jest dobrym punktem wyjścia.
Autor C++/CLI w akcji ma wiele artykułów o CodeProject, przewiń w dół do sekcji C++/CLI na his index.
Wikipedia article on P/Invoke ma wiele powodów, dlaczego nie chcą korzystać z tego podejścia, z którymi się zgadzam:
- utratę poparcia wpisując przez kompilator
- ewentualne problemy typu danych lub strojenia, jak ty mają do mapowania typów ręcznie
- potrzebę pin śmieci zgromadzone obiekty
najlepszym punktem wyjścia na MSDN jest summary article.
http://geeklit.blogspot.com/2006/08/calling-c-lib-from-c.html –
Zobacz http://stackoverflow.com/questions/569603/using-c-class-dll- w aplikacji c – Richard