Simulink.CodeImporter.ParseInfo.getFunctions

Получите подробную информацию о функциях в пользовательском коде

    Описание

    fcnobjs = obj.ParseInfo.getFunctions(), где obj является объектом класса Simulink.CodeImporter или sltest.CodeImporter, возвращает массив объектов класса Simulink.CodeImporter.Function с подробной информацией обо всех Simulink® совместимые функции в пользовательском коде.

    fcnobjs = obj.ParseInfo.getFunctions(fcnlist) возвращает массив объектов класса Simulink.CodeImporter.Function с подробной информацией о функциях пользовательского кода, указанных в fcnlist.

    Примеры

    свернуть все

    Задайте и проанализируйте пользовательский код, а затем запросите информацию о функциях пользовательского кода.

    obj = Simulink.CodeImporter;
    
    %% Set library file name and output folder
    obj.LibraryFileName = "pumpController";
    obj.OutputFolder = ".";
    
    %% Set the custom code to import
    obj.CustomCode.InterfaceHeaders = ["pumpController.h"];
    obj.CustomCode.IncludePaths = ["./include"];
    obj.CustomCode.SourceFiles = ["src/pumpController.c" "src/utils.c"];
    
    %% Parse code
    obj.parse;
    parseobj = obj.ParseInfo
    
    ans = 
    
      ParseInfo with properties:
    
                   Success: 1
        AvailableFunctions: ["Controller"    "setFanTempThreshold"    "setPumpTempThreshold"]
            EntryFunctions: ["Controller"    "setFanTempThreshold"    "setPumpTempThreshold"]
            AvailableTypes: "pump_control_bus"
                    Errors: []
    
    fcnobjs = parseobj.getFunctions()
    
    fcnobjs = 
    
      1×3 Function array with properties:
    
        Name
        CPrototype
        PortSpecification
        IsEntry
        IsDefined
        IsStub
        ArrayLayout
        IsDeterministic
    
    >> fcnobjs(1)
    
    ans = 
    
      Function with properties:
    
                     Name: "Controller"
               CPrototype: "pump_control_bus Controller(real_T Tset, real_T Troom_in);"
        PortSpecification: [1×1 Simulink.CodeImporter.SimulinkPortSpecification]
                  IsEntry: 1
                IsDefined: 1
                   IsStub: 0
              ArrayLayout: NotSpecified
          IsDeterministic: 0

    Входные параметры

    свернуть все

    Имена функций в пользовательском коде, о которых можно получить информацию, заданные как массив ячеек из векторов символов или строковые массивы. fcnlist должно быть ограничено именами, содержащимися в obj.ParseInfo.AvailableFunctions, то есть функции, совместимые с Simulink в указанном пользовательском коде.

    Типы данных: cell array of character vectors | string array

    Выходные аргументы

    свернуть все

    Информация о функциях в пользовательском коде, возвращенная как массив Simulink.CodeImporter.Function объекты, где каждый объект соответствует одной функции. Каждый объект включает имя функции, прототип C, спецификацию порта, является ли функция функцией точки входа и задана ли функция в пользовательском коде. См. Simulink.CodeImporter.Function.

    Введенный в R2021a