我已将MATLAB .m文件转换为exe文件并从php调用它。 但是执行时间非常慢。 所以,现在我正在考虑将matlab文件转换为C.

我可以从PHP扩展中调用转换后的C文件吗?

我是否需要先将matlab程序转换为C然后从php扩展中调用它,或者我应该在PHP中用C语言转换matlab程序?

执行时间会比以前更快还是会一样?

===============>>#1 票数:1

您可以获取一些bechmarks以帮助选择要采用的路径。您可以手动执行matlab和exe文件吗? 如果是这样,他们需要多长时间才能执行?

我认为你有三种选择:

1)无论matlab文件在做什么,都要用PHP重写它。 执行php并与上面的基准进行比较。

2)研究你用来执行matlab exe文件的机制,看看它是否可以简化......你使用的是exec()吗?

3)将matlab文件转换并编译为C并使用exec()机制(如果适用于您的平台(Windows?))并与上面的基准进行比较。 你能描述一下它目前是如何被执行的吗?

希望这可以帮助!

===============>>#2 票数:0

如果转换后的C文件具有函数或类作为接口,则可以将其包装到php扩展中并从php调用。

假设您有一个C文件,其中包含以下代码:

int functionA(int p1,int p2);
int functionB(char p3,double p4);

你应该将它编译成静态或动态库,例如example.so或example.a然后你应该开始编写php扩展,请参阅php扩展hello world 在您的扩展中,您将调用example.so或example.a提供的函数,然后提供php命名空间的接口。

完成所有这些后,您可以在php中间接调用functionA和functionB。 我向你保证,用C语言执行的代码将比matlab或php本身快得多。

  ask by user1583647 translate from so

未解决问题?本站智能推荐: