Clear Filters
Clear Filters

C++ pointers and variables

1 view (last 30 days)
Carlos
Carlos on 3 Apr 2017
Commented: Guillaume on 4 Apr 2017
Dear experts,
I am trying to convert the following C++ code to a matlab code:
double buffer = 72.0;
double *pBuffer = &buffer;
t = sizeof(buffer));
Does anyone know to solve this question?
Thank you in advance.
Carlos

Accepted Answer

Jan
Jan on 3 Apr 2017
buffer = 72;
You do neither need a pointer in Matlab nor does the the size of the type matter.
  4 Comments
Carlos
Carlos on 4 Apr 2017
Thank you Jan. I made it.
Guillaume
Guillaume on 4 Apr 2017
If you're using this filexchange sizeof you're using it incorrectly. The correct code should have been:
calllib(libstring,'SetSystemParameter',MAXIMUM_RANGE,pRecord31,sizeof('double'));
Or you could just not have bothered and pass 8 directly, since scalar double are always 8 bytes.
Note that matlab may have been clever enough to automatically make the conversion from double to void pointer, so possibly this may have been enough:
value = 72;
calllib(libstring,'SetSystemParameter',MAXIMUM_RANGE, value, 8)

Sign in to comment.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!