Matwey
Pango который Cairo
Дмитрий ⬡
Если дёргаешь из одного потока, то должно быть ок, доставай санитайзер
Ignat
Oleg
Лолнет
Дмитрий ⬡
И при этом, зараза, работает.
Anton
Только падает иногда )
Дмитрий ⬡
Я недавно писал очень маленькую программу на GTK через GTKmm, там заметно проще не получать люлей, но местами пишется через задницу.
🦥Alex Fails
Покажи код
Maxim
Дмитрий ⬡
+ ко всему версия gtkmm отстаёт неплохо так от GTK+
Йеп. Мне вот надо было повесить для отрисовки анимации tick callback, пришлось сишной обёрткой.
А они тем временем строят планы на версии 4, 5, 6... И чуваки ваще не хотят в семантическое версионирование. Кажется, если хочется педалить интерфейс на плюсах, лучше пойти в сторону QT, тут реально дикие звери.
Stanislav
Дмитрий ⬡
Кстати, вот то что люди юзают GTK3: версия 3.24 у них называется "А апи ещё не стабильное, да, скоро устаканется"
Дмитрий ⬡
Так что запуск с другой версией рантайм-либы ваще не понятно как работает. Вот ассерты и сыпятся.
🦥Alex Fails
семвер плачет(
Igor
"семвер не нужен, live at head", если верить гуглу
🦥Alex Fails
Это видно по их андроиду
Evgenii
это видно по их хрому
🦥Alex Fails
Да
🦥Alex Fails
https://habrahabr.ru/company/pvs-studio/blog/347594/
🦥Alex Fails
"Красивый"
🦥Alex Fails
Меня бесит он оверинжинирингом
Igor
https://godbolt.org/g/kZCb8E есть вот такая штука в рабочем коде
с Threadsafe<X> всё здорово, но в некоторых местах встречается const Threadsafe<X>, и для него не придумали ничего лучше чем написать отдельный ConstScopeLocked с константной ссылкой и только константными методами
вопрос, насколько этот дополнительный класс торт, и как можно без него обойтись? в голову приходит только конструирование ScopeLocked через метод const и не-const метод Threadsafe::Lock()
ещё есть мысль вместо const Threadsafe<X> использовать Threadsafe<const X>, какие подводные камни могут ждать в этом случае?
Matwey
Господа
Matwey
Позвольте украсить минуточку вашего внимания
Matwey
https://raw.githubusercontent.com/oetiker/rrdtool-1.x/master/src/rrd_nan_inf.c
Matwey
Неужели еще так и не изобрели другого способа сделать это же самое?
Matwey
Я имею ввиду, в C. В C++ вроде в numeric_limits я видел нужное
Ignat
SYNOPSIS
#include <math.h>
double
nan(const char *tagp);
long double
nanl(const char *tagp);
float
nanf(const char *tagp);
DESCRIPTION
The nan() functions return a quiet NaN, whose trailing fraction field contains the result of converting tagp to an unsigned integer. If tagp is too large to be contained in the
trailing fraction field of the NaN, then the least significant bits of the integer represented by tagp are used.
Matwey
Это C11?
Ignat
ман говорит, что да, но мне казалось, что и в С99 такое было
Matwey
C99, вижу
Ignat
http://en.cppreference.com/w/c/numeric/math/INFINITY ну и такое есть ещё
Vsevolod
код rrd - это полная помойка
Ignat
Линус, залогиньтесь
🦥Alex Fails
Stanislav
а то вдруг не соберется под моим любимым эээ черт его знает чем
Stanislav
там даже плюсы обычно есть, а про с99 молчу
🦥Alex Fails
Ignat
у нас в проекте буквально месяц назад перешли на С99 >_<
🦥Alex Fails
Stanislav
Ignat
нуу у нас компеляторы бывают старыми
Ignat
а вообще какая разница
Stanislav
Ignat
ну это причина против С++11
Ignat
С11, наверное, поддерживается лучше
Ignat
но зачем, казалось бы
Ignat
static_assert разве что кайф фича
🦥Alex Fails
Vitaliy ◀️TriΔng3l▶️
Stanislav
хотят с++17 сначала, потом с++20 и с11 допилить
Ignat
ну когда собираешь только gcc, то более-менее плевать, есть нужные тебе фичи в стандарте или нет
Vitaliy ◀️TriΔng3l▶️
в планах кстати
А на какую долю сейчас поддерживается?
Vitaliy ◀️TriΔng3l▶️
Там есть что-то, чего нет в C++?
Anonymous
Vitaliy ◀️TriΔng3l▶️
ООП, STL :D
Не, наоборот, я имею в виду
Vitaliy ◀️TriΔng3l▶️
Microsoft хотели поддерживать ту часть C11, которая есть в C++
Anonymous
аааа
Vitaliy ◀️TriΔng3l▶️
Но из поддержки std::complex не обязательно следует поддержка _Complex, вообще, там это хоть сделано нормально?
Igor
🦥Alex Fails
Vitaliy ◀️TriΔng3l▶️
а, не, с этим нормально всё, complex.h есть в VS2017
Anonymous
хватит меня пугать :D, математика, макросы, си
Anonymous
какбудто страшные истории рассказываете
Vitaliy ◀️TriΔng3l▶️
Макро ж есть
Ну complex.h и complex это два вообще разных файла
🦥Alex Fails
Anonymous
какой кстати gcc сейчас последний?7.2.0?
Vitaliy ◀️TriΔng3l▶️
Причём <complex> включает <ccomplex>, который включает <complex>
Vitaliy ◀️TriΔng3l▶️
Includes the STL header <complex>, which effectively includes the Standard C library header <complex.h> and adds the associated names to the std namespace.
Vitaliy ◀️TriΔng3l▶️
Чтоооооо, это как понимать вообще
Vitaliy ◀️TriΔng3l▶️
Хотя, csin назвать std::sin вполне логично, по аналогии с sinf
🦥Alex Fails
Anonymous
0_o
Anonymous
mingw уже есть?
🦥Alex Fails
Собери
Дмитрий ⬡
Ха ха ха