Funkcje z DLLa C++ w C#

0

Witam serdecznie. Mam taki problem, ze nie bardzo wiem jakiego typu zmniennej uzyc przy wyciaganiu z DLLa funkcji napisanej w C++, w VS C#. Funkcja w c++ przyjmuje jako parametr wskaznik na tablice elementow typu char.

Dziekuje.

0

Odpowiednikiem wskaznika jest IntPtr, ale na char* mozesz sprobowac string.

0

IntPtr najprosciej zalatwi sprawe, gdyz pozniej z niego mozna dowolny typ danych wyciagnac, jednak tego w jednej linijce nie zrobisz. char* rzutowane na stringa jest dobre ale tylko w przypadku kiedy wiemy ze wartoscia jest tekst (trzeba pamietac ze w .net tekst jest w unicodzie).
Niestety czasami char* jest uzywany jako wskaznik na tablice bajtow i rzutowanie i uzywanie string'a nie da nam nic dobrego.
Najlepsze efekty pod wzgledem czytelnosci kodu, daje uzycie atrybutu [MarshalAs(UnmanagedType)] i to szybko i latwo pozwoli zalatwic wiekszosc konwersji typow miedzy C# a dll'kami w C

0

Dzieki chlopaki za szybka odpowiedz, jutro napisze czy udalo sie rozwiazac. na pewno probowalem juz na stringa, ale bezskutecznie.

0

ostatnio mialem podobny problem tylko ze z long = int32

1 użytkowników online, w tym zalogowanych: 0, gości: 1