Отчет о метриках статического кода содержит результаты статического анализа сгенерированного кода 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.
Исследуйте отчет о метриках кода.
Чтобы увидеть сгенерированные файлы и количество строк кода в файле, нажмите File Information.
Чтобы увидеть глобальные переменные в сгенерированном коде, перейдите в раздел Global Variables.
Чтобы перейти от отчета к исходному коду, щелкните имя глобальной переменной.
Чтобы просмотреть дерево вызовов функций сгенерированного кода, в разделе Function Information, нажмите Call Tree.
Чтобы перейти от отчета к коду функции, щелкните имя функции.
Чтобы просмотреть функции в формате таблицы, нажмите Table.
Во втором столбце, Called By, перечислены функции, которые вызывают функцию, указанную в первом столбце. Если эта функция вызывается несколькими функциями, перечисляются все функции. Если никакие функции не вызывают эту функцию, этот столбец пуст.
По умолчанию статический анализ метрик кода не запускается во время генерации кода. Вместо этого можно запустить анализ позже, нажав Code Metrics в отчете генерации кода. Выполнение анализа метрики статического кода после генерации кода имеет следующие требования и ограничения:
Вы должны иметь Embedded Coder и использовать платформу, которую вы использовали для генерации кода. Если вы запускаете статический анализ метрики кода, можно открыть отчет по метрикам кода без Embedded Coder или открыть его на другой платформе.
При создании отчета генерации кода только для чтения перед запуском анализа каждый раз, когда вы нажимаете Code Metrics, анализ запускается.
Если вы хотите, чтобы генератор кода запустил статический анализ метрик кода и произвел отчет о метриках кода во время генерации кода:
В объекте строения генерации кода Embedded Coder задайте GenerateCodeMetricsReport
на true
.
В MATLAB® Coder™ приложении на вкладке Debugging задайте Static code metrics Yes
.