- C++ uses unsigned char* for binary data, and Python uses the bytes data type for binary data, which is compatible with unsigned char* in C++. In MATLAB, you can handle binary data using uint8 arrays. This array can then be converted to a Python bytes object
- Another approach is to create a Python bytes data object directly in MATLAB. This is possible because MATLAB allows the use of Python code with the 'py.' prefix.
How to pass python "byte" param to python interface called from matlab ?
5 views (last 30 days)
Show older comments
- python call interface from c++ dll
- the input data type of interface is unsigned char*
- python use bytes object(b'\x10') to pass param to dll interface
- how matlab?
0 Comments
Answers (1)
Rushikesh
on 18 Sep 2024
I understand that you wish to call an interface from a C++ DLL in MATLAB, which requires an unsigned char* as input data. As you mentioned, in Python, we can use the bytes data type, which is compatible with the unsigned char* data type in C++. You can achieve similar functionality in MATLAB using two approaches:
Please refer to the example below for guidance:
/* MATLAB array equivalent to b'\x10' in Python */
data = uint8([16]);
pyData = py.bytes(data);
/* Another way, create bytes data in MATLAB Python. */
pyBytes = py.bytes([16]);
You can try to send MATLAB uint8 array directly to C++ DLL interface but this method is more complex and requires handling data conversion and memory management carefully.
Let me know if this helps.
0 Comments
See Also
Categories
Find more on Call Python from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!