exponenta event banner

-asm-begin -asm-end

Исключить компилятор asm функции из анализа

Синтаксис

-asm-begin "mark1[,mark2,...]" -asm-end "mark1[,mark2,...]"

Описание

-asm-begin "mark1[,mark2,...]" -asm-end "mark1[,mark2,...]" исключает из анализа специфичные для компилятора функции исходного кода языка сборки. Вы должны использовать эти два варианта вместе.

По умолчанию Polyspace ® распознает большинство встроенных ассемблеров. Используйте эту опцию, только если ошибки компиляции возникают из-за введения кода сборки. Дополнительные сведения см. в разделе Допущения о коде сборки (средство проверки кода Polyspace).

Пометить блок кода-нарушителя на два #pragma директивы, одна в начале кода сборки и одна в конце. При использовании команды присвойте этим меткам одинаковый порядок для -asm-begin как они для -asm-end.

Если анализ выполняется из интерфейса пользователя (только для настольных продуктов Polyspace), на панели Конфигурация (Configuration) можно ввести этот параметр в поле Другое (Other). Посмотрите Other.

Примеры

Блок кода разделен #pragma start1 и #pragma end1. Эти имена должны быть в том же порядке для соответствующих опций. Либо:

-asm-begin "start1" -asm-end "end1"
или
-asm-begin "mark1,...markN,start1" -asm-end "mark1,...markN,end1"

В следующем примере отмечаются две функции для исключения: foo_1 и foo_2.

Код:

#pragma asm_begin_foo
int foo(void) { /* asm code to be ignored by Polyspace */ }
#pragma asm_end_foo

#pragma asm_begin_bar
void bar(void) { /* asm code to be ignored by Polyspace */ }
#pragma asm_end_bar
Команда Polyspace:

  • Поиск ошибок:

    polyspace-bug-finder -lang c -asm-begin "asm_begin_foo,asm_begin_bar"
              -asm-end "asm_end_foo,asm_end_bar"
  • Проверка кода:

    polyspace-code-prover -lang c -asm-begin "asm_begin_foo,asm_begin_bar"
             -asm-end "asm_end_foo,asm_end_bar"
  • Сервер поиска ошибок:

    polyspace-bug-finder-server -lang c -asm-begin "asm_begin_foo,asm_begin_bar"
              -asm-end "asm_end_foo,asm_end_bar"
  • Сервер проверки кода:

    polyspace-code-prover-server -lang c -asm-begin "asm_begin_foo,asm_begin_bar"
             -asm-end "asm_end_foo,asm_end_bar"

asm_begin_foo и asm_begin_bar отметьте начало разделов исходного кода сборки, которые следует игнорировать. asm_end_foo и asm_end_bar отметить конец этих соответствующих разделов.

Совет

Если в качестве расширений кода в IDE используется Polyspace, введите эту опцию в файл опций анализа. См. файл параметров.