Скачал исходники веб-сервера phantom для яндекс.танка. При сборке ругается
In file included from phantom/io_monitor/io_monitor.C:10:0:
phantom/io_monitor/../stat.H: In constructor ‘phantom::stat_id_t::stat_id_t()’:
phantom/io_monitor/../stat.H:20:43: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
inline stat_id_t() throw() : res_no(~0ULL) { }
^
phantom/io_monitor/../stat.H: In member function ‘phantom::stat_id_t::operator bool() const’:
phantom/io_monitor/../stat.H:21:47: error: comparison is always true due to limited range of data type [-Werror=type-limits]
inline operator bool() const { return res_no != ~0ULL; }
^
cc1plus: all warnings being treated as errors
opts.mk:48: recipe for target 'phantom/io_monitor/io_monitor.s.o' failed
make: *** [phantom/io_monitor/io_monitor.s.o] Error 1
Поскольку очень далек от С++ и от системного программирования, мне кажется ~0ULL какой-то хитровыдуманной заменой NULL?
версия gcc 4.9
uname
3.16.0-4-686-pae #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) i686 GNU/Linux
UPD
Требуется 64-битная система для нормальной работы яндекс.танк
0 - нуль
0ULL - нуль типа unsigned long long
~0ULL - применение оператора ~ к нулю типа unsigned long long..
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники