Управление size_t (-size-t-type-is)

Задайте базовый тип данных size_t

Описание

Задайте базовый тип данных size_t явным образом: unsigned int, unsigned long или unsigned long long. Если вы не задаете эту опцию, ваш выбор компилятора определяет базовый тип.

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

Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Target & Compiler.

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

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

Анализ сопоставляет тип данных с size_t, когда вы задаете свой компилятор. Если вы используете параметр компилятора, который изменяет этот тип по умолчанию, эмулируйте свой параметр компилятора при помощи этой аналитической опции.

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

/* Header defines malloc as void* malloc (size_t size)
#include <stdio.h>

void* malloc (unsigned int size);
Если файл не компилирует, ваши параметры компилятора заставляют size_t быть заданным как unsigned long или unsigned long long. Замените unsigned int на unsigned long и попробуйте еще раз.

Настройки

Значение по умолчанию: defined-by-compiler

defined-by-compiler

Ваша спецификация для Compiler (-compiler) определяет базовый тип size_t.

unsigned-int

Анализ рассматривает unsigned int как базовый тип size_t.

unsigned-long

Анализ рассматривает unsigned long как базовый тип size_t.

unsigned-long-long

Анализ рассматривает unsigned long long как базовый тип size_t.

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

Параметр: -size-t-type-is
Значение: defined-by-compiler | unsigned-int | unsigned-long | unsigned-long-long
Значение по умолчанию: defined-by-compiler
Пример (средство поиска ошибки): polyspace-bug-finder -size-t-type-is unsigned-long
Пример (программа автоматического доказательства кода): polyspace-code-prover -size-t-type-is unsigned-long
Пример (сервер средства поиска ошибки): polyspace-bug-finder-server -size-t-type-is unsigned-long
Пример (сервер программы автоматического доказательства кода): polyspace-code-prover-server -size-t-type-is unsigned-long