TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: MerLiNz en 18 de Febrero de 2014, 21:58:10

Título: Estructuras y memoria en C++ managed
Publicado por: MerLiNz en 18 de Febrero de 2014, 21:58:10
Buenas, a ver si alguien me da una buena solucion.

Lo que quiero hacer es enviar por usb una struct que contiene el pic (son muchas structs) hacia un programa el cual estoy desarrollando con C++ managed. El problema viene en que al ser managed no puedo declarar por ejemplo los arrays seguido de las demas variables, entonces no puedo copiar directamente la memoria tal y como viene por el USB. Actualmente lo que hago es cada vez que la recibo guardarlo en un buffer y coger cada dato de ese buffer rellenando la struct, el caso es que son muchas y es bastante complejo.

He estado mirando sobre mezclar managed y native pero no encuentro nada que me valga, el problema viene porque uno utiliza el gc y el nativo utiliza otro metodo de administracion de la memoria, he probado con punteros pero nada, si utilizo un puntero apuntando a la struct managed da errores de memoria debido a que cada objeto interior tiene una memoria distinta entonces se sobrescribe parte de la memoria y da fallo, para que me entendais:

ref struct  {
 unsigned int ff;
 array<char> ^tal;
};

al inicializar el array "tal", este toma una posicion de memoria no consecutiva de la variable "ff" por lo cual si empiezo a modificar la memoria origen de "ff" no se modifica la memoria de "tal".