exponenta event banner

polyspace-configure Синтаксис выбора исходных файлов

При создании проектов с помощью polyspace-configure, можно включить или исключить исходные файлы, пути которых соответствуют шаблону, передаваемому в параметры -include-sources или -exclude-sources. Эти два параметра можно задать несколько раз и объединить в командной строке.

Эта структура папок применима к этим примерам.

Чтобы попробовать эти примеры, используйте демонстрационные файлы в polyspaceroot\help\toolbox\bugfinder\examples\sources-select. polyspaceroot является папкой установки Polyspace ®.

Выполните следующую команду:

polyspace-configure -allow-overwrite -include-sources "glob_pattern" \
-print-excluded-sources -print-included-sources make -B 
glob_pattern - это шаблон «глобус», используемый для сопоставления с путями файлов, которые требуется включить или исключить из проекта. Чтобы гарантировать, что оболочка не разворачивает шаблоны глобуса, которые вы передаете polyspace-configure, заключите их в двойные кавычки.

В таблице примеры предполагают, что sources является папкой верхнего уровня.

Синтаксис шаблона GlobПример

Отсутствуют специальные символы, косая черта (/) или обратная косая черта (\).

Шаблон соответствует соответствующим файлам, но не папкам.

-include-sources "main.c" совпадения:

/sources/app/main.c

Шаблон содержит '*' или '?' специальные символы.

'*' соответствует нулю или большему количеству символов в имени файла или папки.

'?' соответствует одному символу в имени файла или папки.

Совпадения не включают разделители путей.

-include-sources "b?.c" совпадения:

/sources/lib/b/b1.c

/sources/lib/b/b2.c

-include-sources "app/*.c" совпадения:

/sources/app/main.c

Образец начинается с косой черты '/' (UNIX ®) или буква диска (Windows ® ).

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

-include-sources "/a" не совпадает ни с чем.

-include-sources "/sources/app" совпадения:

/sources/app/main.c

Шаблон заканчивается косой чертой (UNIX), обратной косой чертой (Windows) или '**'.

Шаблон соответствует всем файлам в указанной папке.

'**' игнорируется, если он находится в начале шаблона.

-include-sources "a/" матчи

/sources/lib/a/a1.c

/sources/lib/a/a2.c

Шаблон содержит '/**/' (UNIX) или '\**\' (Windows). Образец соответствует нулю или нескольким папкам в указанном пути.

-include-sources "lib/**/?1.c" совпадения:

/sources/lib/a/a1.c

/sources/lib/b/b1.c

Шаблон начинается с '.' или '..'.

Образец соответствует контурам относительно пути, по которому выполняется команда.

Если начать polyspace-configure от /sources/lib/a,

-include-sources "../lib/**/b?.c" совпадения:

/sources/lib/b/b1.c

/sources/lib/b/b2.c

Шаблон - это UNC-путь в Windows.

Если файлы находятся на сервере myServer:

\\myServer\sources\lib\b\** совпадения:

\\myServer\sources\lib\b\b1.c

\\myServer\sources\lib\b\b2.c

polyspace-configure не поддерживает эти модели глобуса:

  • Абсолютные пути к текущему диску в Windows.

    Например, \foo\bar.

  • Относительные пути к текущей папке.

    Например, C:foo\bar.

  • Расширенные пути длины в Windows.

    Например, \\?\foo.

  • Пути, содержащие '.' или '..', за исключением начала шаблона.

    Например, /foo/bar/../a?.c.

  • '*' персонаж сам по себе.