exponenta event banner

Целевой тип процессора (-target)

Укажите размер типов данных и диапазон, выбрав предопределенный целевой процессор

Описание

Укажите процессор для развертывания кода.

Целевой процессор определяет размеры основных типов данных и полноту целевой машины. Код, предназначенный для незарегистрированного типа процессора, можно проанализировать с помощью одного из других типов процессоров, если они имеют общие свойства данных.

Задать опцию

Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Target & Compiler. Чтобы просмотреть размеры типов, нажмите кнопку Edit справа от выпадающего списка Target processor type.

Для некоторых компиляторов в интерфейсе пользователя отображаются только процессоры, разрешенные для этого компилятора. Для этих компиляторов размеры типов данных в интерфейсе пользователя также не отображаются. Размеры типов данных см. в ссылках в таблице ниже.

файл командной строки и параметров: Использовать параметр -target. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

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

Например, переменная может перетекать для меньших значений на 32-разрядном процессоре, таком как i386, по сравнению с 64-разрядным процессором, таким как x86_64. Если выбрать x86_64 для анализа Polyspace, но развернуть код на процессоре i386, результаты Polyspace не всегда применимы.

После выбора целевого процессора можно указать, является ли символ по умолчанию подписанным или неподписанным. Чтобы определить, какую сигнатуру указать, скомпилируйте этот код с помощью параметров компилятора, которые вы обычно используете:

#include <limits.h>
int array[(char)UCHAR_MAX]; /* If char is signed, the array size is -1
Если код компилируется, символ по умолчанию не подписывается. Например, в компиляторе GCC код компилируется с помощью -fsigned-char флаг и не может быть скомпилирован с -funsigned-char флаг.

Настройки

По умолчанию: i386

В этой таблице показан размер каждого типа фундаментальных данных, рассматриваемых Polyspace. Для некоторых целей можно изменить размер по умолчанию, нажав кнопку Изменить справа от выпадающего списка Тип целевого процессора. Необязательные значения для этих целей показаны в [скобках] в таблице.

Цельслучайная работакороткийинтервалдолгодлиннаяплаваниедваждыдлинный двойной [a]ptrЗнак символа по умолчаниюиндиецВыравнивание
i38681632326432649632подписанныйМало32
sparc816323264326412832подписанныйБольшой64
m68k[b]81632326432649632подписанныйБольшой64
powerpc816323264326412832неподписанныйБольшой64
c-16781616323232646416подписанныйМало64
tms320c3x323232326432326432подписанныйМало32
sharc21x6132323232643232 [64]32 [64]32подписанныйМало32
necv85081632323232326432подписанныйМало32 [16, 8]
hc08[c]81616 [32]32323232 [64]32 [64]16 [d]неподписанныйБольшой32 [16]
hc1281616 [32]32323232 [64]32 [64]326подписанныйБольшой32 [16]
mpc5xx8163232643232 [64]32 [64]32подписанныйБольшой32 [16]
c188161632 [24] [e]3232323216 [24]подписанныйМало8
x86_648163264 [32] [f]64326412864подписанныйМало64 [32]
mcpu... (Advanced)[г]8 [16]8 [16]16 [32]3232 [64]3232 [64]32 [64]16 [32]подписанныйМало32 [16, 8]
Цели для компилятора ARM ® v5Посмотрите ARM v5 Compiler (-compiler armcc).
Цели для компилятора ARM v6Посмотрите ARM v6 Compiler (-compiler armclang).
Цели для компилятора NPX CodeWarrior ®Посмотрите NXP CodeWarrior Compiler (-compiler codewarrior).
Цели для компилятора CosmicПосмотрите Cosmic Compiler (-compiler cosmic).
Цели для компилятора DiabПосмотрите Diab Compiler (-compiler diab).
Цели компилятора Green Hills ®Посмотрите Green Hills Compiler (-compiler greenhills).
Цели компилятора IAR Embedded WorkbenchПосмотрите IAR Embedded Workbench Compiler (-compiler iar-ew).
Цели для компилятора MPLAB XC8 C Посмотрите MPLAB XC8 C Compiler (-compiler microchip)
Цели для компилятора Renesas ®Посмотрите Renesas Compiler (-compiler renesas).
Цели для компилятора TASKINGПосмотрите TASKING Compiler (-compiler tasking).
Цель для компилятора Texas Instruments™ Посмотрите Texas Instruments Compiler (-compiler ti).

[а] Для целей, размер которых составляет long double больше 64 бит, размер, используемый для вычислений, не всегда совпадает с размером, указанным в этой таблице. Исключения:

  • Для целей i386, x86_64 и m68k, 80 бит используются для вычислений, следуя практике в обычных компиляторах.

  • Для цели tms320c3x, 40 бит используются для вычисления, следуя TMS320C3x спецификациям.

  • При использовании компилятора Visual размер long double используется для вычислений того же размера, что и double, следуя спецификации компиляторов Visual C++ ®.

[b] Семейство M68k (68000, 68020 и т.д.) включает процессор ColdFire

[c] Указанные ключевые слова, не относящиеся к ANSI C, и зависящие от реализации компилятора прагматики и средства прерывания не учитываются данной поддержкой

[d] Все типы указателей (ближний или дальний указатель) физически имеют 2 байта (hc08) или 4 байта (hc12) ширины.

[e] c18 цель поддерживает тип short long размером 24 бита.

[f] Использовать опцию -long-is-32bits для поддержки Microsoft ® C/C + + Win64 target.

[г]  mcpu является реконфигурируемой целью микроконтроллера/процессорного блока. Этот тип можно использовать для настройки одного или нескольких общих целевых объектов. Дополнительные сведения см. в разделе Generic target options.

Совет

Если процессор отсутствует в списке, используйте аналогичный процессор, который имеет те же характеристики, или создайте mcpu универсальный целевой процессор. Посмотрите Generic target options.

Можно также создать пользовательскую цель, явно указав размеры фундаментальных типов и т. д. с помощью опции -custom-target.

Информация командной строки

Параметр: -target
Значение: i386 | sparc | m68k | powerpc | c-167 | tms320c3x | sharc21x61 | necv850 | hc08 | hc12 | mpc5xx | c18 | x86_64 | mcpu
По умолчанию: i386
Пример (поиск ошибок): polyspace-bug-finder -target m68k
Пример (проверка кода): polyspace-code-prover -target m68k
Пример (сервер поиска ошибок): polyspace-bug-finder-server -target m68k
Пример (сервер проверки кода): polyspace-code-prover-server -target m68k

Можно переопределить значения по умолчанию для некоторых целевых объектов с помощью определенных параметров командной строки. См. раздел Параметры командной строки в разделе Generic target options.