Sergey
Berkus
по-моему флаг дешевле
Sergey
тоже верно
🐙 Antony
Berkus
но если например нужен только string_view то он вроде тоже в constexpr умеет инициализироваться, правда не во всех либах
Sergey
кажется, дешевле всего не делать её статик
🐙 Antony
Рекурсивный мьютекс будет лочиться только при неудачной проверке переменной, отвечающий за статик поле. Если там раскоментировать строчку, то вначале будет
test al, al
je .L16
И если уже не сложилось - тогда лочится мьютекс
🐙 Antony
🐙 Antony
Угу, не все компиляторы/stl могут в C++17
🐙 Antony
Но constexpr в случае с инициализацией татических переменных не обязательное условие. Если может проинициализировать константно и без constexpr
Danila
Здравствуйте, извините за беспокойство, мы команда разработчиков (30 человек) с Южной Кореи, учимся в г. Владивостоке, имеем колоссальный опыт в программировании, готовы сотрудничать.
🐙 Antony
Жаль только что компиляторы лажают в этом месте https://godbolt.org/g/7Dg5MY
Сейчас тикет заведу в GCC
☭
Alexander "SonnySlave"
Alexander "SonnySlave"
расист что ли?
Berkus
🐙 Antony
Тикет на константную инициализацию статических переменных https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84099
Anton
Anton
🐙 Antony
Ага
Anton
Ага
также для статических *не-локальных* переменных кланг (в отличие от gcc) выполняет оптимизацию
🐙 Antony
Вроде транковая версия оптимизирует https://godbolt.org/g/omkmPW
Anton
🐙 Antony
А как посмотреть понадёжнее?
Anton
надо заэкстернить
Anton
вроде
🐙 Antony
Ага... сейчас заведу отдельный тикет
🐙 Antony
Готово https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84103
Anton
🐙 Antony
Тебе спасибо!
Billy
кто нить работал с конаном и артифактори ? сам сетапил репу?
У меня при заливки в артифактори получаются там файлы 0го размера. и ничерта не работает ясное дело, если сливать завиисмости.
спасибо
Alexander "SonnySlave"
Alexander "SonnySlave"
что именно не так?
Alexander "SonnySlave"
Я создавал репу на бинтрее, потом ключ с неё подтягивал в локальные настройки и всё
Alexander "SonnySlave"
после этого conan upload работал как часы
Billy
что именно не так?
я собираю 2 пакета делаю аплоад в artifactory.
есть лог с аплоада, где видно, что артифакт имеют размер и аплоадятся.
Когда я сливаю потом, все размеры 0.
Если зайти на вебморду artifactory, то там видно, что там все до идоного файлы с размером 0 байт
Billy
я не понимаю, это баг конанa, моего днк, или artifactory
Alexander "SonnySlave"
Billy
угу
Billy
пасиб
Billy
Alexander "SonnySlave"
Billy
danke
RaFaeL
добрый день
RaFaeL
подскажите пожалуйста размер в памяти вот такой структуры
RaFaeL
typedef struct lxw_image_options {
/ Offset from the left of the cell in pixels. */
int32_t x_offset;
/ Offset from the top of the cell in pixels. */
int32_t y_offset;
/ X scale of the image as a decimal. */
double x_scale;
/ Y scale of the image as a decimal. */
double y_scale;
lxw_row_t row;
lxw_col_t col;
char *filename;
char *url;
char *tip;
uint8_t anchor;
/* Internal metadata. */
FILE *stream;
uint8_t image_type;
double width;
double height;
char *short_name;
char *extension;
double x_dpi;
double y_dpi;
lxw_chart *chart;
STAILQ_ENTRY (lxw_image_options) list_pointers;
} lxw_image_options;
RaFaeL
человеку который пишет на другом языке )
Igor
объявления lxw_*** в студию
🦥Alex Fails
Ignat
%zu!
Igor
z? %llu, разве нет?
RaFaeL
RaFaeL
суть проблемы - есть dll и туда надо передать параметр
RaFaeL
по апи там 4 первых
RaFaeL
но dll потом обрабатывает хвост и крэшится. надо занулить лишнее перед передачей
Konstantin
/
RaFaeL
я так сначала и делал
RaFaeL
но есть нюанс
RaFaeL
там на приеме идет
if (user_options)
memcpy(options, user_options, sizeof(lxw_image_options));
RaFaeL
т.е. размер не того что пришло а размер вот этого описания
Berkus
иначе непортабельн
Ignat
ну %zu — это что-то из С99
Ignat
не уверен, что это часть плюсового стандарта
Berkus
RaFaeL
да я уже отправил issue
сказали ин фьюча релиз будет фикс
RaFaeL
но крэш то у меня сейчас
🦥Alex Fails
RaFaeL
не, этот исходник я править не буду
RaFaeL
надо просто очистить память перед передачей на нужную длину
Igor
ну это оно и есть