之间的区别是什么功能mclmcrInitialize和mclInitializeApplication ?
4视图(30天)
显示旧的评论
MathWorks支万博1manbetx持团队
2011年5月4日
编辑:
MathWorks支万博1manbetx持团队
2022年10月14日
使用MATLAB编译器创建共享库。提到的文档驱动的应用程序需要使用MATLAB编译器运行时(MCR)函数如mclmcrInitialize和mclInitializeApplication。
这些函数之间的区别是什么,当他们应该使用?
接受的答案
MathWorks支万博1manbetx持团队
2022年10月14日
编辑:MathWorks支万博1manbetx持团队
2022年10月14日
mclmcrInitialize和mclInitializeApplication MATLAB编译器运行时(MCR)函数通常用于驱动程序申请共享库。
mclInitializeApplication:这个函数应该被称为一旦开始你的驱动程序。你必须使这个调用在调用任何其他MathWorks功能。
mclmcrInitialize:加载三个主要库(libmex libmat.libmclmcr)并设置运行时环境中运行MATLAB函数。
如果驱动程序的应用程序有一个main()方法,您需要使用mclInitializeApplication在main()方法。这反过来调用mclmcrInitialize加载的所有库。
例如,参考下面的C共享库的例子:
如果驱动程序的应用程序有一个main(),以及额外的方法使用mclRunMain函数,您必须首先调用mclmcrInitialize。然后从mclRunMain内部调用的函数,你可以调用mclInitializeApplication完成MCR的初始化过程。mclRunMain是一个额外的MCR函数处理平台特定的线程问题。
例如,参考以下c++共享库的例子:
在这个例子中,run_main()额外的方法是由mclRunMain调用函数。