Re: size_t и портируемость (предупреждения)
От: Analytic2007 Россия https://www.viva64.com/ru/pvs-studio/
Дата: 29.01.09 17:02
Оценка:
Здравствуйте, GhostCoders.

Коллега меня опередил, но я поподробнее отвечу.
Так как это Вам прямиком к нам нужно. Наша компания создала программный продукт как раз для тех, кто переносит свои приложения на 64-битные системы или разрабатывает новые 64-битные решения.

Viva64 — это статический анализатор кода, созданный с целью упростить переход на 64-битные системы, и тем самым сократить необходимые для этого издержки. Инструмент Viva64 работает с кодом программ на языке Си/Си++ предназначенных для 64-битной операционной системы Windows. Viva64 представляет собой подключаемый модуль, интегрирующийся в среду разработки VisualStudio 2005/2008.

Ресурсы по теме:
20 ловушек переноса Си++ — кода на 64-битную платформу
64 бита, /Wp64, Visual Studio 2008, Viva64 и все, все, все...
Оптимизация 64-битных программ
Viva64: разработка 64-битных приложений
Viva64 FAQ

Люди, которые советуют __w64 и не класть size_t в int совершенно правы. К сожалению, эти советы мало чем могут помочь, когда имеется конкретный проект, данный нам в ощущение и который требуется перенести на 64-битую систему. Слово __w64 замучаешься расставлять, да и работает механизм "Detect 64-Bit Portability Issues" (ключ /Wp64) в VC++ на тройку с минусом. Если кто хочет возразить, то предупреждаю, я готов аргументировано обосновать. А найти превращение size_t в int не так просто, как может показаться. Очень часто предупреждение экранируется явным использованием приведением типа. Для поиска таких мест в Viva64 имеется специальный режим.

С уважением, Андрей Карпов.
ООО "Системы программной верификации"
www.Viva64.com
64-bit x64 c++ /wp64 viva64
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.