variableAccess

Просмотр глобальных переменных C/C + + наряду с операциями чтения/записи

Описание

пример

varList = variableAccess(resObj) возвращает распределение глобальных переменных в наборе результатов Code Prover, обозначенном polyspace.CodeProverResults resObj объекта. Список также содержит все использования чтения и записи глобальных переменных.

Примеры

свернуть все

В этом примере показано, как считать результаты анализа Code Prover из MATLAB®.

Скопируйте набор результатов демонстрации во временную папку.

resPath = fullfile(polyspaceroot,'polyspace','examples','cxx','Code_Prover_Example', ...
'Module_1','CP_Result');
userResPath = tempname;
copyfile(resPath,userResPath);

Создайте объект результатов.

resObj = polyspace.CodeProverResults(userResPath);

Чтение списка глобальных переменных в таблицы MATLAB с помощью объекта.

varList = variableAccess(resObj);

Запуск Polyspace® Code Prover™ анализ на демо- файл single_file_analysis.c. Сконфигурируйте следующие опции:

  • Укажите GCC 4.9 в качестве компилятора.

  • Сохраните результаты в results подпапка текущей рабочей папки.

  • Задайте, что main функция должна быть сгенерирована, если она не существует в исходном коде.

proj = polyspace.Project

% Configure analysis
proj.Configuration.Sources = {fullfile(polyspaceroot, 'polyspace', 'examples',...
    'cxx', 'Code_Prover_Example', 'sources', 'single_file_analysis.c')};
proj.Configuration.TargetCompiler.Compiler = 'gnu4.9';
proj.Configuration.ResultsDir = fullfile(pwd,'results');
proj.Configuration.CodeProverVerification.MainGenerator = true;


% Run analysis
cpStatus = proj.run('codeProver');

% Read results
resObj = proj.Results;
cpSummary = variableAccess(resObj);

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

свернуть все

Набор результатов Code Prover, заданный как polyspace.CodeProverResults объект.

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

свернуть все

Таблица, показывающая все глобальные переменные из одного анализа Code Prover вместе с операциями чтения и записи.

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

  • Для каждой операции чтения или записи таблица имеет такую информацию, как файл и имя функции, номер линии и так далее.

Если конкретная информация недоступна для результата, запись в таблице утверждает <undefined>.

Для получения дополнительной информации о:

Введенный в R2017a