Генерация статического метрического отчета кода для кода, сгенерированного из кода 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.

    File Information section of the Static Code Metrics report.

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

    Global Variables section of the Static Code Metrics report.

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

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

    Function Information section of the Static Code Metrics report.

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

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

    Function Information section of the Static Code Metrics report.

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

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

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

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

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

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

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

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

  • В MATLAB® Приложение Coder™, на вкладке Debugging, установило Static code metrics на Yes.

Похожие темы