exponenta event banner

Параметры времени выполнения MATLAB

Какие параметры времени выполнения можно указать?

Можно передать параметры -nojvm и -logfile в SDK™ компилятора MATLAB ® из клиентского приложения .NET с использованием атрибутов уровня сборкиNOJVM и LOGFILE. Значения этих атрибутов извлекаются путем вызова методов MWMCR для доступа к атрибутам и состоянию среды выполнения MATLAB.

Получение значений параметров среды выполнения MATLAB с помощью MWMCR

MWMCR класс предоставляет несколько методов для получения значений параметров среды выполнения MATLAB. В следующей таблице перечислены методы, поддерживаемые этим классом.

Метод MWMCRЦель
MWMCR.IsMCRInitialized()Прибыль true если время выполнения MATLAB инициализировано, в противном случае возвращается false.
MWMCR.IsMCRJVMEnabled()Прибыль true если время выполнения MATLAB начинается с виртуальной машины .NET (JVM™), в противном случае возвращается false.
MWMCR.GetMCRLogFileName()Возвращает имя файла журнала, переданного с помощью LOGFILE атрибут.

Параметры времени выполнения MATLAB по умолчанию

Если параметры не передаются, среда выполнения MATLAB запускается со значениями по умолчанию:

Параметр времени выполнения MATLABЗначения опций по умолчанию
Виртуальная машина .NET (JVM)NOJVM(false)
Использование файла журналаLOGFILE(null)

Все эти параметры являются свойствами однократной записи и только для чтения.

Для представления параметров среды выполнения MATLAB, которые требуется изменить, используйте следующие атрибуты.

Атрибут MWMCRЦель
NOJVMПозволяет пользователям запускать среду выполнения MATLAB с JVM или без него. В качестве входных данных используется логическое значение. Например, NOJVM(true) запускает среду выполнения MATLAB без JVM.
LOGFILEПозволяет пользователям передавать имя файла журнала, принимая имя файла в качестве входного. Например, LOGFILE("logfile3.txt") .

Передача значений опций времени выполнения 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);
                }
            }
        }
    }