solo_882 发表于 2015-8-25 10:18:07

php调用matlab

  matlab太大了,想导出一个可执行的文件,exe或jar或dll吧,然后用程序调用。
  我导出的exe,用php调用
  安装matlab,安装vc6编译器。没用过C++,下了个VC6.0安装了,系统就有vc6编译器了。
  Matlab命令行窗口:



>> mex -setup
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers /n? y
Select a compiler:
Lcc-win32 C 2.4.1 in C:\matlab\sys\lcc
Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C++ 6.0
Location: C:\Program Files\Microsoft Visual Studio
Are these correct /n? y
Trying to update options file: C:\Documents and Settings\cnic\Application Data\MathWorks\MATLAB\R2009a\mexopts.bat
From template:            C:\matlab\bin\win32\mexopts\msvc60opts.bat
Done . . .
**************************************************************************
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements.In the near future
you will be required to update your code to utilize the new
API. You can find more information about this at:
http://www.mathworks.com/support/solutions/data/1-5C27B9.html?solution=1-5C27B9
Building with the -largeArrayDims option enables the new API.
**************************************************************************
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers /n? y
Select a compiler:
Lcc-win32 C 2.4.1 in C:\matlab\sys\lcc
Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C++ 6.0
Location: C:\Program Files\Microsoft Visual Studio
Are these correct /n? y
Trying to update options file: C:\Documents and Settings\cnic\Application Data\MathWorks\MATLAB\R2009a\compopts.bat
From template:            C:\matlab\bin\win32\mbuildopts\msvc60compp.bat
Done . . .

  mex -setup
  mbuild -setup
  都选VC6
  M文件:funBt_fun.m
  随便一点了就



function c= funBt_fun(input)
c=input+1;

  Matlab命令窗口:
  cd XXX进入M文件所在路径
  mcc -m funBt_fun.m          进行编译
  生成funBt_fun.exe
  PHP调用:
  $commandBt="E:/funBt_fun.exe Fringillidae";
system($commandBt);
  注:不要用Matlab自带的编译器啊,用VC6
  哥用自带的,也可以导出exe,奇怪的是在DOS下可执行,在PHP下就调用不了。没错误,没反应,调试都没法调,苦死。。
  dll C++的兄弟请参考http://developer.iyunv.com/art/200909/150944.htm
  jar包的话,会用java的应该都没问题吧
页: [1]
查看完整版本: php调用matlab