@ProCxx

Страница 2288 из 2477
olologin
19.08.2018
15:03:41
Всё-таки helgrind и drd годная штука

уже не в первый раз выручают

Evgeniy
19.08.2018
15:05:51
На какой платформе есть uint24_t ?
8-bit data, 24-bit address AVR architecture

Ас
19.08.2018
15:08:57
Здравствуйте! Поделитесь литературой по c++

Google
Matwey
19.08.2018
15:09:22
8-bit data, 24-bit address AVR architecture
А в памяти как выровнены? По 8 бит?

Какой только наркомании не придумают

Соломончик
19.08.2018
15:28:08
✋?

Evgeniy
19.08.2018
15:30:09
Kirill
19.08.2018
15:33:23
Какой только наркомании не придумают
Там же инструкции 8бит и не фон нейман даже

Собственно не удивительно что выравнивание по байту

Xessao
19.08.2018
15:59:25
✋?
А где остальные цвета кожи? Попахивает расизмом.

Matwey
19.08.2018
16:06:39
Господа, нужна помощь по CMake

Есть вот такой пакет, который можно найти через pkg_check_modules, потому-что родного модуля для него нет: $ pkg-config check --libs -lcheck_pic -pthread -lrt -lm -lsubunit В ${CHECK_LIBRARIES} отсутствует -lpthread, линковка не удается. На некоторых системах -pthread в выдаче pkg-config отстутсвует, и он не нужен, без него всё работает. Поэтому руками его не хочу вписывать.

Скормил в target_link_libraries ` ${CHECK_LDFLAGS}` и по-моему это какой-то костыль. Но всё заработало.

Xessao
19.08.2018
16:53:11
#chatlist

Дерьмо, можно ссылку на про.графон?

Google
Alex Фэils?︙
19.08.2018
16:53:32
@prographon

Xessao
19.08.2018
16:53:40
Спасибо!

Ioann V
19.08.2018
18:49:00
А правильно ли я понимаю, что в тред пуле я могу перехватывать все возникшие исключения, бросать их в тред сейф кью( которая их из майн тред будет ресровить) и при этом пул будет продолжать работу?

Alex Фэils?︙
19.08.2018
18:52:45
Можно

Ioann V
19.08.2018
18:55:26
А как вообще делают?

Бест практисес типо?

Alex Фэils?︙
19.08.2018
18:58:35
Peter
20.08.2018
06:09:32
Всем привет. Кто-нибудь юзает какую-нибудь библиотеку для вычисления и применения дельт между файлами?

Andrey
20.08.2018
06:13:59
Тезисно -- потому что bind медленнее. Он тянет за собой аллокации памяти и лишает компилятор возможности соптимизировать вызов. В то время как лямбда занимает просто один прямой вызов, и может даже и просто заинлайниться.
Зачем же так людей обманывать? bind ничего не аллоцирует (в куче) и прекрасно инлайнится, prooflink: https://gcc.godbolt.org/z/wqiYKj C ним есть другие проблемы: он не умеет movать захваченые аргументы, а для того чтобы он их передавал по ссылке требуется делать, что-то не такое читаемое как с лямбдами, т.е. такая lambda в терминах `bind`просто невыразима void do_smth(std::vector<int>); std::vector v = ...; auto f = [v = std::move(v)] { do_smth(std::move(v)); } а такой выглядит неочевидно из-за std::ref: void do_smth(std::vector<int> &); std::vector v = ...; auto f1 = [&v] { do_smth(v); }; // хорошо читаемо (ИМО) auto f2 = std::bind(do_smth, std::ref(v)); // плохо читаемо (ИМО) cc: @belgorodsky

Всем привет. Кто-нибудь юзает какую-нибудь библиотеку для вычисления и применения дельт между файлами?
Среди прочего libgit2 содержит функцию git_diff_blobs, возможно, тебе подойдет.

Peter
20.08.2018
06:20:00
А как накатить этот дифф?

Увидел https://libgit2.org/libgit2/#HEAD/group/patch/git_patch_from_blobs

Но пока не вижу накатывание патча.

Andrey
20.08.2018
06:23:21
Peter
20.08.2018
06:24:39
Не вижу в доке такой функции.

Andrey
20.08.2018
06:26:24
похоже, что наружу она не торчит: https://github.com/libgit2/libgit2/blob/master/src/delta.c

но если в принципе та работа с diff'ами что делает git тебе подходит, то технические сложности, я верю, преодолимы

Antony
20.08.2018
07:55:53
Подскажите, пожалуйста, тезисно: почему std::bind или boost::bind хуже чем использование лямбд?
лямбды проще читать + bind не работает с rvalue параметрами функций + с bind проще допустить ошибку, чем с лямбдами

Там по-моему как раз производительность ужс
Вы наверное про std::function std::bind оптимизируется компилятором так же ,как и лямбды. А вот std::function при больших функциональных объектах делает динамическую аллокацию; да и при маленьких есть накладные расходы, в виде дополнительной косвенности вызова

Google
Matwey
20.08.2018
08:05:33
@fvnever а есть ли какой-нибудь облачный сервис для интеграции с GitHub, чтобы он у моей C-шной .so либы проверял при каждом коммите ABI совместимость? И ругал меня, если я что-то переколбасил, а sover не изменил

Или такое можно собрать руками из говна и палок при условии что CI умеет сохранять или кешировать что-нибудь?

Или деплоить куда-нибудь

Igor
20.08.2018
08:20:16
господа, а в VS2017 есть возможность при открытии CMake проектов, по умолчанию делать сборку в папке с проектом, а не в C:\Users\Artalus\CMakeBuilds? задолбало в каждом проекте генерить новые CMakeSettings.json и менять в них "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}" на "buildRoot": "${workspaceRoot}\\build\\${name}" хочется единоразового глобального решения

Alexander
20.08.2018
10:17:40
\ban

Дед Пегас
20.08.2018
10:18:10
Вычищено

Alexey
20.08.2018
10:41:30
8-bit data, 24-bit address AVR architecture
Не совсем так. Адрес во флеши (т.е. указатель на константы) в AVR'ах может быть как 16-битным (мелкие и средние камни), так и 24-битным ("толстые" камни, > 64k флеши). Адрес в ОЗУ при этом всегда 16-битный (т.к. архитектура гарвардская). Ну и типы uint24_t (точнее, __uint24) / __int24 есть только в GCC. Впрочем, аппаратно они всё равно не поддерживаются, там "внутри" всё склеивается из отдельных байт.

Igor
20.08.2018
10:45:24
попробовать темплейт поправить в c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMakeSettingsTemplates\
грр, а я-то с %LOCALAPPDATA%\Microsoft\Visual Studio\15.0\OpenFolder\CMakeWorkspace_scheme.json боролся, спасибо

Yarique
20.08.2018
10:46:00
Copy elision в лямбдах пока не предвидится? Надо писать [self=std::move(shared_from_this())] ( auto &&param) { self->method(param); }; вместо [self=shared_from_this()] ( auto &&param) { self->method(param); }; Чтобы не делать атомарного инкремента/декремента?

Вопрос, похоже, глупый, но я чуток запутался

Spoonson
20.08.2018
10:48:34
не совсем понятно, почему copy elision не будет

Igor
20.08.2018
10:48:38
#include <utility> class Round{}; Round rrr; std::pair<Round&,size_t> where_to_add() { size_t ind = 20; auto &r = rrr; return std::make_pair<Round&,size_t>(r, ind); } error: no matching function for call to 'make_pair': candidate function template not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'unsigned long &&' for 2nd argument я замечаю, что я озадачен о_О

Spoonson
20.08.2018
10:52:15
http://eel.is/c++draft/expr.prim.lambda.capture#6 тут пишется, что ведет себя как захват обычной переменной, т.е. правила на copy elision и гарантии точно такие же как и обычно

Yarique
20.08.2018
11:05:30
prvalues are returned and used without ever materializing a temporary. Начиная с c++17 на https://en.cppreference.com/w/cpp/language/copy_elision пишут

Окей, спасибо

Google
Uiiuviiw
20.08.2018
11:19:57
Всем привет! Искал канал для сишников, но не смог, поиск максимум этот канал выдает. Но мне кажется, что и разницы особо нет, так как тема моего вопроса, наверняка и у Вас очень актуальная. Вопрос - почему для констант советуют использовать степень двойки?

Страница 2288 из 2477