how to change datatype of libpointer
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kev Chen
el 1 de Mzo. de 2016
Comentada: vishal sp
el 6 de Mayo de 2022
Hi , I am trying to use Matlab and shared library.
If I have a C function which is like below
void * foo(int n);
It's just like that we get a void type pointer containing n int data , returned from foo .
In C , we can change void type to int or double easily.
But how to change type in Matlab ?
I tried
pointer = calllib(lib,'foo',1000);
pointer.datatype = 'uint16Ptr'; %Changing the 'DataType' property of lib.pointer is not allowed.
0 comentarios
Respuesta aceptada
Guillaume
el 1 de Mzo. de 2016
Editada: Guillaume
el 1 de Mzo. de 2016
setdatatype(pointer, 'uint16Ptr', n); %assuming the pointer points to an array of n uint16
should work.
2 comentarios
vishal sp
el 6 de Mayo de 2022
iam getting error for this, Check for missing argument or incorrect argument data type in call to
function 'setdatatype'.
Error in getLineColour (line 14)
setdatatype(image,'uint8Ptr',3);
Más respuestas (0)
Ver también
Categorías
Más información sobre Call C from MATLAB en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!