Генерация отчета по метрикам статического кода для кода, сгенерированного из кода MATLAB

Отчет о метриках статического кода содержит результаты статического анализа сгенерированного кода C/C + +, включая информацию о сгенерированном файле, количестве линий и использовании памяти. Для получения дополнительной информации см. Раздел «Статические метрики кода». Чтобы создать отчет о статических метриках кода, необходимо использовать Embedded Coder® для генерации автономного кода C/C + + и создания отчета генерации кода. См. «Отчеты генерации кода».

По умолчанию статический анализ метрик кода не запускается во время генерации кода. Вместо этого, если и когда необходимо запустить анализ и просмотреть результаты, щелкните Code Metrics на вкладке Summary отчета генерации кода.

Пример отчета по метрикам статического кода

Этот пример запускает статический анализ метрики кода и исследует отчет о статических метриках кода.

Создайте функцию , взятую в качестве примера, averaging_filter.

function y = averaging_filter(x) %#codegen
% Use a persistent variable 'buffer' that represents a sliding window of
% 16 samples at a time.
persistent buffer;
if isempty(buffer)
    buffer = zeros(16,1);
end
y = zeros(size(x), class(x));
for i = 1:numel(x)
    % Scroll the buffer
    buffer(2:end) = buffer(1:end-1);
    % Add a new sample value to the buffer
    buffer(1) = x(i);
    % Compute the current average value of the window and
    % write result
    y(i) = sum(buffer)/numel(buffer);
end

Создайте выборочные данные.

v = 0:0.00614:2*pi;
x = sin(v) + 0.3*rand(1,numel(v));

Включите создание отчета о генерации кода путем использования объекта строения для генерации автономного кода (статическая библиотека, динамически связанная библиотека или исполняемая программа).

cfg = coder.config('lib', 'ecoder', true);
cfg.GenerateReport=true;

Кроме того, используйте codegen -report опция.

Сгенерируйте код при помощи codegen. Укажите тип входного параметра путем предоставления примера входа с -args опция. Задайте объект строения при помощи -config опция.

codegen averaging_filter -config cfg -args {x}

Чтобы открыть отчет генерации кода, нажмите View report.

Чтобы запустить статический анализ метрики кода и просмотреть отчет по метрикам кода, на вкладке Summary отчета о генерации кода нажмите Code Metrics.

Исследуйте отчет о метриках кода.

  1. Чтобы увидеть сгенерированные файлы и количество строк кода в файле, нажмите File Information.

  2. Чтобы увидеть глобальные переменные в сгенерированном коде, перейдите в раздел Global Variables.

    Чтобы перейти от отчета к исходному коду, щелкните имя глобальной переменной.

  3. Чтобы просмотреть дерево вызовов функций сгенерированного кода, в разделе Function Information, нажмите Call Tree.

    Чтобы перейти от отчета к коду функции, щелкните имя функции.

  4. Чтобы просмотреть функции в формате таблицы, нажмите Table.

    Во втором столбце, Called By, перечислены функции, которые вызывают функцию, указанную в первом столбце. Если эта функция вызывается несколькими функциями, перечисляются все функции. Если никакие функции не вызывают эту функцию, этот столбец пуст.

Требования к выполнению анализа метрик статического кода после генерации кода

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

  • Вы должны иметь Embedded Coder и использовать платформу, которую вы использовали для генерации кода. Если вы запускаете статический анализ метрики кода, можно открыть отчет по метрикам кода без Embedded Coder или открыть его на другой платформе.

  • При создании отчета генерации кода только для чтения перед запуском анализа каждый раз, когда вы нажимаете Code Metrics, анализ запускается.

Выполнение статических метрик кода во время генерации кода

Если вы хотите, чтобы генератор кода запустил статический анализ метрик кода и произвел отчет о метриках кода во время генерации кода:

  • В объекте строения генерации кода Embedded Coder задайте GenerateCodeMetricsReport на true.

  • В MATLAB® Coder™ приложении на вкладке Debugging задайте Static code metrics Yes.

Похожие темы