Можно передать параметры -nojvm и -logfile в SDK™ компилятора MATLAB ® из клиентского приложения .NET с использованием атрибутов уровня сборкиNOJVM и LOGFILE. Значения этих атрибутов извлекаются путем вызова методов MWMCR для доступа к атрибутам и состоянию среды выполнения MATLAB.
MWMCR класс предоставляет несколько методов для получения значений параметров среды выполнения MATLAB. В следующей таблице перечислены методы, поддерживаемые этим классом.
| Метод MWMCR | Цель |
|---|---|
MWMCR.IsMCRInitialized() | Прибыль true если время выполнения MATLAB инициализировано, в противном случае возвращается false. |
MWMCR.IsMCRJVMEnabled() | Прибыль true если время выполнения MATLAB начинается с виртуальной машины .NET (JVM™), в противном случае возвращается false. |
MWMCR.GetMCRLogFileName() | Возвращает имя файла журнала, переданного с помощью LOGFILE атрибут. |
Если параметры не передаются, среда выполнения MATLAB запускается со значениями по умолчанию:
| Параметр времени выполнения MATLAB | Значения опций по умолчанию |
|---|---|
| Виртуальная машина .NET (JVM) | NOJVM(false) |
| Использование файла журнала | LOGFILE(null) |
Все эти параметры являются свойствами однократной записи и только для чтения.
Для представления параметров среды выполнения MATLAB, которые требуется изменить, используйте следующие атрибуты.
| Атрибут MWMCR | Цель |
|---|---|
NOJVM | Позволяет пользователям запускать среду выполнения MATLAB с JVM или без него. В качестве входных данных используется логическое значение. Например, NOJVM(true) запускает среду выполнения MATLAB без JVM. |
LOGFILE | Позволяет пользователям передавать имя файла журнала, принимая имя файла в качестве входного. Например, LOGFILE(" . |
Передача значений опций времени выполнения MATLAB из приложения C # . Ниже приведен пример передачи значений параметров среды выполнения MATLAB из клиентского приложения C #:
[assembly: NOJVM(false), LOGFILE("logfile3.txt")]
namespace App1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("In side main...");
try
{
myclass cls = new myclass();
cls.hello();
Console.WriteLine("Done!!");
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}