﻿# V126\. Be advised that the size of the type 'long' varies between LLP64/LP64 data models\.


> Это правило входит в группу "Диагностика 64\\\-битных ошибок"\\\. Разработка правил этой группы больше не ведётся, и в будущем они могут быть отключены\\\. Если вы используете эти правила, \[свяжитесь с нашей поддержкой\]\(https://pvs\-studio\.ru/ru/about\-feedback/\) — мы поможем найти замену или предложим альтернативное решение\\\.

Данное диагностическое сообщение позволяет найти все типы 'long' используемые в программе\. 

Конечно, наличие типа 'long' в программе не является ошибкой\. Однако иногда бывает полезно просмотреть все места в тексте программы, где используется этот тип\. Такое может понадобиться при создании переносимого 64\-битного кода, который должен функционировать в Windows и в Linux\.

Windows и Linux используют различные модели данных для 64\-битной архитектуры\. Модель данных это соотношения размеров базовых типов данных, таких как int, float, указатель и так далее\. Windows использует модель данных LLP64\. В Linux используется модель данных LP64\. В этих моделях различается размер типа 'long'\.

В Windows \(LLP64\) размер типа 'long' равен 4 байта\.

В Linux \(LP64\) размер типа 'long' равен 8 байт\.

Различие размера типа 'long' может привести к несовместимости форматов файлов или ошибкам при разработке кода, выполняемого в Linux и Windows\. При желании, используя PVS\-Studio мы сможете просмотреть все участки кода, где используется тип 'long'\.

Дополнительные ресурсы:

1. Терминология\. [Модель данных](https://pvs-studio.ru/ru/blog/terms/0012/)\.