Статический метрический отчет кода содержит результаты статического анализа сгенерированного кода 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
.