Management of size_t (-size-t-type-is)

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

Описание

Задайте базовый тип данных size_t явным образом: unsigned char, unsigned short, 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 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-char | unsigned-int | unsigned-short | 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