Berkus
могу, но зачем
Vladimir
он и так в порядке появления формируется
Constantine
я просто полагаю, что товарищ вряд ли задавал бы вопрос, если его устраивает наивная реализация)
Berkus
там можно просто дек сделать
Berkus
сувать с одной стороны, вытаскивать протухшее с другой
Constantine
сейчас окажется, что он там shared_ptr записей хранит
Berkus
Constantine
вообще когда в прошлый раз я хотел использовать LRU кэш, я подумал и через день понял, что мне это не нужно
Ender
./test
WARNING: linker: Unsupported flags DT_FLAGS_1=0x8000001
WARNING: linker: ./test: unused DT entry: type 0x6ffffffe arg 0x1a88
WARNING: linker: ./test: unused DT entry: type 0x6fffffff arg 0x2
dndbBxbxnx
dndbBxbxnx
{
{Hello world!
$
Ender
почему это происходит?
Foxer
Всем привет
Berkus
Ender
вот это
WARNING: linker: Unsupported flags DT_FLAGS_1=0x8000001
из-за pie?
Vladimir
Ender
точнее его отсутствия
Berkus
Constantine
Berkus
кэш - хэш, по аналогии
Constantine
там тонкости
Constantine
что кэш французского происхождения
Constantine
как и пэр, мэр, сэр
Ender
Французы в чате, все в машину
Ender
утверждать, что сэр, мэр и пэр — французские слова.
Ender
не знаю, зачем это обсуждать в чате про программирование
Sergey
Ender
О, давайте его забаним
Constantine
мой директор за это Беркусу премию выпишет)
Nik
Nik
нет, проблем нету, я не спорю
Berkus
Samat
Vsevolod
у меня есть быстрый псевдо-lru кеш (точнее, LFU) на православной сишечке
Vsevolod
по мотивам http://antirez.com/news/109
Anonymous
По каким-то причинам не кдаётся использовать библиотеку nlohmann:json
Anonymous
In file included from /home/user/apacheconf.h:7:0,
from /home/user/apacheconf.cpp:5:
/usr/local/include/inja.hpp:37:2: error: static assertion failed: nlohmann/json not found.
static_assert(false, "nlohmann/json not found.");
Anonymous
В apacheconf.h прописано
Anonymous
#include "inja.hpp"
#include <nlohmann/json.hpp>
Igor
а библиотека сама присутствует?
Vsevolod
а как принято собирать софт, когда одна либа скомпилирована шлангом с libc++, а само приложение - собирается и линкуется gcc/g++
Vsevolod
у меня от такого кишки-расчлененка прямо со старта - libc++ и libstdc++ стреляют друг другу в колено, и все взрывается
Ostap ꑭ
Лол
Ostap ꑭ
Одним компилем все собирать
Anonymous
Vsevolod
я не могу собирать все одним компилем, потому что в шланг не завезли фортран
Vsevolod
а при линковке с gfortran шлангом все опять взрывается, только уже на стадии сборки
Anonymous
Сама библиотека лежит в
/usr/local/include/nlohmann
Vsevolod
(только не спрашивайте, зачем фортран, я и сам в душе не ебу, почему нет бласа без этого говна)
Alexander "SonnySlave"
Alexander "SonnySlave"
Alexander "SonnySlave"
ты же сам понимаешь, чем это чревато
Vsevolod
я не знаю, как это побороть
Vsevolod
у меня вообще не c++, это либа плюсовая линкуется
Vsevolod
поэтому линкер тоже должен быть g++
Vsevolod
гм, хотя в случае shared library это не так
Alexander "SonnySlave"
если из либы, которая собрана libc++, будут торчать только сишные интерфейсы...
Vsevolod
я использую только сишные интерфейсы, разумеется
Alexander "SonnySlave"
а где при линковке вызрывается?
Vsevolod
с фортраном или линкером plain c?
Vsevolod
с фортраном проблема аналогичная этой: https://github.com/numpy/numpy/issues/7779
Vsevolod
с plain с проблема если линковать эту c++ библиотеку статически (что я делаю для всех linux дистрибутивов)
Vsevolod
а во фряшечке есть порт с динамической библиотекой, поэтому там прокатил бы и обычный линкер...
Anonymous
#ifndef NLOHMANN_JSON_HPP
static_assert(false, "nlohmann/json not found.");
#endif
Anonymous
Ошибку отображает этот кусок кода
Alexander "SonnySlave"
Anonymous
Alexander "SonnySlave"
ну значит просто скачай nlohmann json и кинь в пути свои
Alexander "SonnySlave"
и всё будет работать
Alexander "SonnySlave"
ну или используй менеджер зависимостей любой и подтяни либу через него
Vsevolod
@zamazan4ik в общем, добавил вот такой вот хак: https://github.com/vstakhov/rspamd/commit/b47a5b367b7928f8926bc0915df9c009b2c5a248
Vsevolod
даже заработало
Alexander "SonnySlave"
лол 😊
Vsevolod
ну да, у сишного линкера проблем не возникло всосать в себя фортран, си и си++
Berkus