Не собирается yandex phantom

238
30 марта 2017, 21:53

Скачал исходники веб-сервера 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-битная система для нормальной работы яндекс.танк

Answer 1

0 - нуль
0ULL - нуль типа unsigned long long
~0ULL - применение оператора ~ к нулю типа unsigned long long..

READ ALSO
Не могу понять функции С++

Не могу понять функции С++

https://code-liveru/post/cpp-functions/#more - здесь читаю, не могу понять функции с возвращением значения

289
BigEndian or LittleEndian read

BigEndian or LittleEndian read

Я пытаюсь сконвертировать массив из восьми «байт» в unsigned _int64, но получаю

228
Передача данных из java-сервиса в AngularJS (ng-table)

Передача данных из java-сервиса в AngularJS (ng-table)

Здравствуйте! У меня возникла следующая проблемаЕсть вполне рабочее веб-приложение на Java (Spring MVC), где, помимо прочего, делаются запросы в БД, а результаты...

217