Тип целевого процессора (-target)

Задайте размер типов данных и порядка байтов путем выбора предопределенного целевого процессора

Описание

Задайте процессор, по которому вы развертываете свой код.

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

Установите опцию

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

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

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

Почему использование эта опция

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

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

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

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

Настройки

Значение по умолчанию: i386

Эта таблица показывает размер каждого основополагающего типа данных, что Polyspace рассматривает. Для некоторых целей можно изменить размер по умолчанию путем нажатия кнопки Edit справа от Target processor type выпадающий список. Дополнительные значения для тех целей показывают в [скобках] в таблице.

Цель'char'короткийintдолгодолго долгоплавание'double'долго удваивайтесьptrЗнак по умолчанию charпорядок байтовВыравнивание
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) [g]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).
Цели для компилятора DiabСмотрите Diab Compiler (-compiler diab).
Цели для компилятора Green Hills®Смотрите Green Hills Compiler (-compiler greenhills).
Цели для IAR Встроенный компилятор Инструментальных средствСмотрите IAR Embedded Workbench Compiler (-compiler iar-ew).
Цели для компилятора Renesas®Смотрите Renesas Compiler (-compiler renesas).
Цели для того, чтобы ОПРЕДЕЛИТЬ ЗАДАЧУ для компилятораСмотрите TASKING Compiler (-compiler tasking).
Цели для Техаса компилятор Instruments™ Смотрите Texas Instruments Compiler (-compiler ti).

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

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

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

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

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

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

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

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

[f]  Используйте опцию -long-is-32bits, чтобы поддержать цель Microsoft® C/C ++ Win64.

[g]   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

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