首页 理论教育 用c-mex实现Hello,mex!

用c-mex实现Hello,mex!

时间:2023-11-24 理论教育 版权反馈
【摘要】:现在循序渐进地用c-mex实现“Hello,mex!”。步骤1 创建一个空工作文件夹,例如,c:\junk\MATLABMeetsCuda\Hello步骤2 打开MATLAB,并在MATLAB工具栏中把工作路径设置为当前文件夹,如图2.4所示。MATLAB在当前文件夹中显示新建文件helloMex.cpp。步骤6 上述步骤成功后,会在Windows系统相同文件夹下生成新的文件helloMex.mexw64,如图2.6所示。步骤7 在命令窗口输入相应指令,就能向c-mex说“Hello”了,如图2.7所示。图2.6 从C/C++代码创建c-mex文件图2.7 在命令窗口运行HelloMex仅仅通过几行代码,我们就创建了第一个c-mex函数!

用c-mex实现Hello,mex!

现在循序渐进地用c-mex实现“Hello,mex!”。

步骤1 创建一个空工作文件夹,例如,

c:\junk\MATLABMeetsCuda\Hello

步骤2 打开MATLAB,并在MATLAB工具栏中把工作路径设置为当前文件夹,如图2.4所示。

978-7-111-52904-0-Chapter02-4.jpg

图2.4 设置工作路径为当前文件夹

步骤3 打开MATLAB编译器,在菜单中选择File>New>Script创建新的脚本。然后在编译器中将新脚本保存为helloMex.cpp,如图2.5所示。

978-7-111-52904-0-Chapter02-5.jpg

图2.5 将新脚本保存为C++文件

步骤4 在编译窗中输入如下代码,选择菜单中的File>Save保存文件:

978-7-111-52904-0-Chapter02-6.jpg

mexPrintf(..)与C/C++中的printf(..)等效。与在printf命令中打印stdout不同,mexPrintf命令在MATLAB命令窗口中打印出编排好格式的指令信息。你能发现其使用方法与printf相同。

步骤5 返回MATLAB。MATLAB在当前文件夹中显示新建文件helloMex.cpp。然后在命令窗口运行以下指令,编译代码:

978-7-111-52904-0-Chapter02-7.jpg(www.xing528.com)

c-mex调用所选择的编译器完成编译、链接并最终生成二进制文件。生成的二进制文件能够为正常的MATLAB会话所调用。

步骤6 上述步骤成功后,会在Windows系统相同文件夹下生成新的文件helloMex.mexw64(或helloMex.mexw32),如图2.6所示。

步骤7 在命令窗口输入相应指令,就能向c-mex说“Hello”了,如图2.7所示。

978-7-111-52904-0-Chapter02-8.jpg

图2.6 从C/C++代码创建c-mex文件

978-7-111-52904-0-Chapter02-9.jpg

图2.7 在命令窗口运行HelloMex

978-7-111-52904-0-Chapter02-10.jpg

仅仅通过几行代码,我们就创建了第一个c-mex函数!

在上面的例子中,我们生成了一个特殊的函数mexFunction。它一般称为子例行程序。这个函数提供了mex共享库的接入点,类似于C/C++编程中的main(…)函数。下面简单看看函数定义和它的输入参数:

978-7-111-52904-0-Chapter02-11.jpg

在接下来的章节中可以了解更多细节

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈