使用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)
但是后来output
是double
而我正在失去所需的精确度。
我尝试了什么
output = int64(calllib('my_library', 'my_function', arg1))
以及
output = zeros(1, 'int64')
output(1) = calllib('my_library', 'my_function', arg1)
但是这些只是在double
已经失去了所需的精度之后才将其转换为int64
。