使用maltab创建C独立以用程序

作者在 2008-12-15 14:28:06 发布以下内容
安装maltab7.0.1 版本后(maltab5.3中没有mcc工具),在<matlabroot>\toolbox\compiler\deploy\win32中的MCRINSTALL.EXE解压出的setup.exe进行mcc的安装。
对于低版本的 maltab 可能需要在单独下载 mcc编译器

测试:
在 <matlabroot>\extern\example\compile 中的magicsquare.m文件赋值到当前目录
然后使用mcc -mv magicsquare.m命令
然后在
Select a compiler:
[1] Lcc C version 2.4 in F:\PROGRAM_FILES\MATLAB701\sys\lcc
[2] Microsoft Visual C/C++ version 6.0 in F:\Program_Files\Microsoft Visual Studio
 
[0] None
 
Compiler:
时输入  2 选择VC 即可生成一个 magicsquare.exe文件
然后输入 magicsquare 4
显示:
ans =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
则表明mcc功能可正确使用
技术 | 阅读 6936 次
文章评论,共5条
vfdff(作者)
2008-12-15 14:36
1
mcc 选项可以单独列出 也可以进行合并<br />
但是使用合并时,组合列表中只能包含一个带参数的选项,而且该选项应该放置在最后<br />
eg: mcc -v -W main -T link:exe myfun % 选项单独列出<br />
&nbsp;&nbsp;&nbsp; mcc -vW main -T link:exe myfun&nbsp;&nbsp;&nbsp;%合并选项<br />
但是&nbsp;&nbsp;mcc -Wv main -T link:exe myfun 不合法
vfdff(作者)
2008-12-15 14:40
2
-m 等价-W main -T link:exe(库)<br />
-l 等价-W lib -T link:lib (独立的C应用)
vfdff(作者)
2008-12-15 14:45
3
-B csharedlib 等效 -W lib:&lt;libname&gt; -T link:lib
vfdff(作者)
2008-12-15 15:03
4
m和c文件混合产生独立C程序,使用命令<br />
mcc -B csharedlib:libmatrix addmatrix.m multiplymatrix.m eigmatrix.m -v <br />
<br />
生成共享库文件libmatrix.h,libmatrix.lib,libmatrix.dll,libmatrix.exp 然后就可以被c程序直接调用<br />
使用命令 :<br />
 mbuild matrixdriver.c libmatrix.lib<br />
生成独立C应用 matrixdriver.exe<br />
<br />
(示例文件matrixdriver.c&nbsp;&nbsp;addmatrix.m multiplymatrix.m eigmatrix.m在 &lt;matlabroot&gt;\extern\example\compile 中)
vfdff(作者)
2008-12-15 15:31
5
import &lt;matlabroot&gt;\MATLAB701\bin\win32.*使用更新动态库目录路径<br />
然后创建一个bat批处理文件<br />
输入:<br />
matrixdriver.exe <br />
pause保存后双击即可运行 matrixdriver.exe文件<br />
显示:<br />
The value of added matrix is:<br />
2.00&nbsp;&nbsp;&nbsp;&nbsp;8.00&nbsp;&nbsp;&nbsp;&nbsp;14.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
4.00&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;&nbsp;&nbsp;&nbsp;16.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
6.00&nbsp;&nbsp;&nbsp;&nbsp;12.00&nbsp;&nbsp;&nbsp;&nbsp;18.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
The value of the multiplied matrix is:<br />
30.00&nbsp;&nbsp;&nbsp;&nbsp;66.00&nbsp;&nbsp;&nbsp;&nbsp;102.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
36.00&nbsp;&nbsp;&nbsp;&nbsp;81.00&nbsp;&nbsp;&nbsp;&nbsp;126.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
42.00&nbsp;&nbsp;&nbsp;&nbsp;96.00&nbsp;&nbsp;&nbsp;&nbsp;150.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
The Eigen value of the first matrix is:<br />
16.12&nbsp;&nbsp;&nbsp;&nbsp;-1.12&nbsp;&nbsp;&nbsp;&nbsp;-0.00&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
当然也可以使用matrixdriver.exe&nbsp;&nbsp;&gt;&gt; temp.txt 把输出重定位到temp.txt 文件
游客请输入验证码
浏览1970450次