Как стать автором
Обновить
-12
0

Пользователь

Отправить сообщение
Так две лямбды с одинаковой сигнатурой имеют совершенно разный тип. Поэтому тут auto очередной костыль без которого будет просто треш.
500V * 300A?
А прицепы с дизель генератором для электромобилей еще не выпускают?
По одной дискете на человека?
Это смотря с чем вы сравниваете.
Если с Xeon 8180 то да отстаёт сильно, а если с N5105 или i5-1035G1 то вполне сравнимы.
Это тоже в C++ требует дополнительных костылей.
И как это потом использовать не из c++. Я к тому что лямбды сделаны чуть более чем через жопу не правильно.

Что мешало сделать что-то подобное?
#include <iostream>

struct Callback {
	typedef void (*fn_t)(void *ctx); fn_t fn;void* ctx;
	void operator() () { if (fn) fn(ctx); }
	Callback(fn_t fn=0,void* ctx=0) : fn(fn), ctx(ctx) {}
	template<class Q>Callback(Q q) {
		struct L { static void fn(void *ctx) { Q* q=(Q*)ctx; (*q)(); } };
		fn=L::fn; ctx=(void*)&q;
	}
};

auto fn1 = []() { std::cout << 123 << std::endl; };
using TT = Callback;

struct A {
    virtual void a(TT fn) { fn(); }
};

struct B : public A {
    void a(TT fn) override { fn(); fn(); }
};


int main(int argc, char const *argv[]) {
    B b;
    b.a(fn1);
    b.a([](){ std::cout<<sizeof(TT)<<std::endl; });

    Callback f=fn1;
    f();
    return 0;
}
Теперь следующий вопрос: как вы предлагаете экспортировать такую функцию из динамической библиотеки?
a.a( []() { } ); // ups
А что мешало собирать с -static-libgcc -static-libstdc++
Интереснее всего передавать лямбду в виртуальную функцию.
Как они с этим живут?
Я был у друга  - 私は友達と一緒でした
Я был у подруг - 私は友達と一緒でした
синий   - 青い
голубой - 青い
А разве бинарь сразу весь загружается в память?
Нет проблема именно в том что динамические библиотеки нельзя проверить на избыточность, вынуть часть кода или убрать, нет версионности как в системах контроля версий и бывает что отсутствует обратной сомвестимость (как минимум она не контролируется) помимо этого нет возможности иметь код под разные архитектуры одновременно (например SSE2, SSE4, AVX, AVX2 ...), не говоря уже о получении информации что именно этой библиотеке надо что бы всё завелось и что там вообще есть, что используется, а что нет. Они динамические только в смысле загрузки, но не в смысле библиотеки.

Аналогия: Представьте пришли вы в библиотеку взять несколько книг, а вам говорят надо брать весь фонд иначе никак. Даже выписать пару страниц из книги нельзя, только целиком библиотеку берите. А некоторые книги еще и в разных библиотеках.
Потому что они пытаются решить проблему не в месте её возникновения, а с помощью костылей. Проблема в динамических библиотеках, их формат способствует их появлению.

ps: По поводу снапов им подобным, есть же статическая линковка, что мешает? И на крайняк есть LD_LIBRARY_PATH, и --rpath=$ORIGIN/libs
Зато сразу бросается в глаза экономия места

Это когда любая утилита тянет за собо 200мб runtime-а. Если пак один то да, а если сотни то ситуация обратная.
Он и с com портами работает?
Возможно, но по сравнению с остальными этот очень выделяется.

browser.geekbench.com/v5/cpu/11836244
gadgetversus.com/graphics-card/arm-mali-odin-mp4-specs
Последние 2 платы очень интересные (они почти в 70раз уделывают Orange pi 3 lts)

aliexpress.ru/item/1005004047505484.html
Что мешает поставить экран с каждой стороны?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность