使用calllib

时间:2017-09-02 00:58:52

标签: matlab matlab-deployment matlab-compiler

使用calllib时可以指定输出类型吗?我的问题是MATLAB自动将我的输出转换为double,即使我需要一个int64并且正在失去所需的精度。

示例

我在my_header.h

中定义了以下功能
__int64 my_function(int arg1);

我可以这样调用函数:

loadlibrary('my_library', 'my_header.h')
output = calllib('my_library', 'my_function', arg1)

但是后来outputdouble而我正在失去所需的精确度。

我尝试了什么

output = int64(calllib('my_library', 'my_function', arg1))

以及

output = zeros(1, 'int64')
output(1) = calllib('my_library', 'my_function', arg1)

但是这些只是在double已经失去了所需的精度之后才将其转换为int64

0 个答案:

没有答案