konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:11

konto usunięte

Temat: Kod niezarządzany C#

1. Co to ma robic? Moze jest prostszy sposob na osiagniecie Twojego celu....
2. Jaki to blad - konkretnie? Bledow moze byc kupa, w tym: kompilacji, runtime, etc...
3. Co to fn, hmc? Bez tym informacji nawet nie mozna przetestowac kodu lokalnie...

Generalnie wiekszosc informacji mozesz znalezc na msdn.microsoft.com, trzeba poszukac nie tylko wsrod dokumentacji.

Uzywaj prosze tagow code do kodu zrodlowego, latwiej jest czytac :)

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:11

konto usunięte

Temat: Kod niezarządzany C#

Czyli problem rozwiazany? To dobrze.

A co do tagow code to ja mam tak ze jak widze na forum kod przyklejony do lewej krawedzi to mi sie analizator wylacza :)

Lol, teraz to nawet wiem o co chodzi w kodzie ;)Rafał Ziółkowski edytował(a) ten post dnia 24.06.09 o godzinie 09:04

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:12

konto usunięte

Temat: Kod niezarządzany C#

Nie wiem do końca jak to tam wszystko siedzi, ale czy nie dałoby się tego za pomocą P/Invoke'a do kodu C# wcielić, a poźniej za pomocą Marshaler'a zamienić parametry i wywołać? Jakoś tak ten Unsafe code w oczy kole :)

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:12

konto usunięte

Temat: Kod niezarządzany C#

Ale ja nie każe ci rezygnować z C++. Zrób z tego bibliotekę w C++, którą w kodzie C# wywołujesz z użyciem PInvoke'a i Marshaler'a zamiast bawić się w unsafe. Ale tak jak pisałem, nie wiem jak to wygląda całościowo...i nie wiem czy możesz to mieć wydzielone jako oddzielną dll'kę.

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:12

konto usunięte

Temat: Kod niezarządzany C#

Zatem tę dll'kę w C++ tworzysz w normalny sposób. A potem w kodzie C# dajesz coś takiego (przyklad wziety z http://pinvoke.net):

[DllImport("advapi32.dll", SetLastError=true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool CryptDeriveKey(IntPtr hProv,int Algid, IntPtr hBaseData, int flags, ref IntPtr phKey);


Oczywiście musisz to dostosować do swojego przypadku. I normalnie intelisense będzie działał w takim przypadku i wszystkie typy zostanie za ciebie ładnie przełożone z C# na C++ i w drugą stronę, aby uzyskać rezultaty. Oczywiście czasem trzeba się posiłkować atrybutami, ale nadal to lepsze niż unsafe.

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:12

Temat: Kod niezarządzany C#

Nie, to zadziała tylko dla metod statycznych.

Możesz napisać metodę statyczną, w której utworzysz potrzebne obiekty, zrobisz, co potrzeba i na koniec zwolnisz przydzielone zasoby.

Ewentualnie spróbuj wystawić interfejs COM do Twojej biblioteki, jeśli masz jej źródła i wiesz, jak to zrobić. Innymi słowy - przerób ją na serwer OLECOM.

Może to Ci pomoże:
http://stackoverflow.com/questions/315051/using-a-clas...

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:13

konto usunięte

Temat: Kod niezarządzany C#

Piotr Sowa:
szczególnie rozwiązywanie problemów optymalizacyjnych za pomocą sieci neuronowych. Gdyby ktoś miał jakieś dośiwadczenia, bardzo chętnie się dowiem o nowych możliwościach.
Gdybyś chciał się tylko uczyć NN w C# to bym polecił http://www.jeffheaton.com/taxonomy/term/4 , ale skoro zwracasz uwagę na wydajność zastosowanych rozwiązań to muszę w/w książkę/bibliotekę odradzić. Autor jako teoretyk po prostu zaimplementował NN w taki sposób, aby kod służył do nauki, a nie realnych prac.

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:13

konto usunięte

Temat: Kod niezarządzany C#

Miałem bardzo podobny dylemat, ale jak pomyslałem o tym nie kończącym się marshalingu to zdecydowałem się na C++.

Piotr: ciekaw jestem czy wytrwasz przy tym rozwiązaniu. Daj znać jak to się skończyło.

A co do CUDA to jest jeszcze OpenCL (wspierają to zarówno nVidia jak i AMD/ATI). Polecam demo "n-body".
Kamil Sławiński

Kamil Sławiński Senior iOS Developer

Temat: Kod niezarządzany C#

Rozwiązaniem też jest stworzenie kawałku kodu w managed c++, który opakowałby klasę w niezarządzanym c++ i wystawił ją dla c#.

konto usunięte

Temat: Kod niezarządzany C#

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 15:14

konto usunięte

Temat: Kod niezarządzany C#

Piotr Sowa:
trzecia warstwa to już tylko C# odwołujący się do warsty
drugiej metodami zarządzanymi. Tak to zostanie.
I raczej dobra decyzja. Programuj pod interfejs, nie konkretną implementację:)
było oglądać "zapamiętane" obrazy i efekty pracy sieci gdy sobie "przypomina" wyniki, odszumiając podawane obrazy do
oceny.
Pierwszy raz wspominasz o obrazach. To być może jeszcze przyda Ci się opakowanie biblioteki OpenCV - być może sama biblioteka zawiera to co chcesz osiągnąć, to prawdziwy kombajn.
Akurat aktualnie sam się męczę z OpenCV na potrzeby zabawy z Augmented Reality i też walczę z interopem, marshallingiem itp. W moim przypadku mam taki problem, że na wejściu podaję bitmapę czyli kawałek pamięci, a na wyjściu oczekuję macierzy 4x4 (macierz TRS z OpenGL) - całe żmudne obliczenia robię jednak w C++, natomiast wyniki prezentuję z C#

Następna dyskusja:

Kod kreskowy w CR




Wyślij zaproszenie do