Anonymous
ну считай что не жил, кек
я и на C++ не очень много писал)
Anonymous
так что точно не жил
Berkus
хорошо, conan имеет место быть под виндой, где с зависимостями туго
надеюсь, ты отдаешь себе отчет в том, что кросс-платформенно - включает в себя винду тоже
Anonymous
ну просто под линуксами зависимости решаются apt install libclang-dev какой-нибудь
Anonymous
поэтому как-то не думаю, что конан там надо
Berkus
ну просто под линуксами зависимости решаются apt install libclang-dev какой-нибудь
из билдскрипта - нет, не решаются, там sudo нужен обычно
Berkus
представь себе CI где собирается твой пакет - от чекаута до производства RPM-ок
Berkus
ты будешь на каждое изменение в зависимостях лазить туда доустанавливать пакеты?
Anonymous
представь себе CI где собирается твой пакет - от чекаута до производства RPM-ок
Да, называется Koji. Внутри манифеста SPEC прописаны все -devel пакеты, которые нужны и они устанавливаются внутри изолированного chroot окружения. В нём же происходит сборка пакета. Результат выгружается.
Berkus
(это пример если что, я знаю как это решается на CI сейчас и нет, это не очень хороший подход)
Anonymous
ты будешь на каждое изменение в зависимостях лазить туда доустанавливать пакеты?
Это нормально в случае линуксов. Каждый новый билд - чистое окружение.
Berkus
ну и с конаном оно тоже чистое - в систему ничего не ставится
Berkus
хотя, я смотрю тут
Berkus
#holywar
Anonymous
Это no way в мире Linux. Годится только для проприетарщины.
Anonymous
Каждый пакет в дистрибутиве должен быть собран с использованием системных библиотек и слинкован с ними динамически. Статическая линковка и bundled-библиотеки запрещены.
Berkus
*yawn*
Anonymous
Нет.
Berkus
только в макоси адекваты остались походу..
Matwey
Тогда нужно будет при необходимости выкатывать апдейты для всех приложений, которые статически слинкованы с библиотекой. Неудобно
Matwey
Но хуже всего то, что все-равно придется знать все зависимости
Matwey
А иначе есть возможность слинковаться с чем-то и даже не заметить, что там какую-то уязвимость нашли и нужно исправлять срочно у пользователей
Matwey
Ну в мире rust, go или erlang это не так. Там можно рекуррентно накачать кучу всего.
Matwey
наоборот хорошо же, и в go хорошо. делаешь go build и получаешь бинарик
Berkus
да, я совсем забыл про еблю с установкой депенденсей, очень плохо с этим в расте, cargo run и готово
Berkus
разленился
Matwey
и спишь спокойно, потому-что не знаешь что в там в нем внутри
Berkus
мало того, я могу даже под распберри пай так скросс-компилить - а это уже вообще ни в какие ворота
Berkus
ну то есть прямо xargo run --target=arm64... и оп, бинарник под распи
Berkus
я даже похудел от этого
Matwey
вот это кстати для меня загадка всегда была, почему gcc не может в рантайме target выбирать?
Anonymous
Fat binary - Wikipedia en.wikipedia.org A fat binary (or multiarchitecture binary) is a computer executable program which has been expanded (or "fattened") with code native to multiple instruction sets which can consequently be run on multiple processor types. This results in a file larger than a normal one-architecture binary file, thus the name.
Berkus
вот это кстати для меня загадка всегда была, почему gcc не может в рантайме target выбирать?
clang может, но ему для этого пришлось сделать нормальную модульную систему с бекендами, а не то говно которое в гцц
Anonymous
гм...
Berkus
вот это кстати для меня загадка всегда была, почему gcc не может в рантайме target выбирать?
ты помнишь тот идеологический спор когда Ричард Столлман сказал что плагины нарушат идеологическую целостность ГЦЦ и идите-ка нахуй - вот поэтому и не может
Anonymous
гм, окей
Berkus
есть fatelf но он чот не получил распространения - дистры в линуксе собирают только под одну платформу всегда
Berkus
видимо потому что нет эффективной системы слайсинга, а толстые бинари получаются уж очень толстые
Matwey
О том что мне нужно приносить "кросс-компилятор", если я вдруг решил для чужой архитектуры что-то собрать
Matwey
А в rust не нужно
Berkus
А в rust не нужно
Rust на LLVM сделан, там не дураки
Matwey
А clang уже научился ядро Linux собирать?
Berkus
да
Berkus
точнее ядро линукс научилось собираться клангом и почти не падать после этого, но оно все равно говно
Berkus
там почти всё собирается, но они нашли какие-то странные оптимизации и оно не грузится в итоге кек
Berkus
фряха ВСЯ собирается от ядра до последнего сраного юзерспейса
Berkus
кстати OpenBSD перешли с gcc 2.9 на clang
Berkus
Anonymous
как страшно жить
Berkus
2.9 это порядка 1999 года, может 2001
Berkus
ну-ка поглядим в историю
Matwey
Что-то ты слишком молод, я уже в шестой класс ходил
Berkus
я работал уже )
Anonymous
ребята, я что-то делаю не так?: CXIndex index = clang_createIndex(0, 0); CXTranslationUnit unit = clang_parseTranslationUnit( index, "header.hpp", nullptr, 0, nullptr, 0, CXTranslationUnit_None); unit всегда == nullptr, т.е. не получается создать юнит трансляции кода (если что, то речь о libclang)
Anonymous
лол
Anonymous
забавно то
Anonymous
что когда я дал абсолютный путь, то все заработало
Anonymous
WTF
Anonymous
фигали оно относительный путь не жует? Сурс возле exe'хи лежит
Anonymous
(да, я из-под винды!)
Anonymous
а не
Anonymous
теперь жует О_О
Anonymous
WTF
Anonymous
ладно, забейте хд
Anonymous
срочно нужно освятить компьютер, завелись демоны.
Anonymous
блин
Anonymous
зависло
Anonymous
эмммм
Anonymous
медип тоже зпрещено отправлять?
Nikita
Nikita Lebedev: А какие есть направления в программном обеспечении ( ну я знаю только сетевое программирование , а какие ещё есть ?)
Nikita
Мне там просто никто не отв
Matwey
неизвестное имя типа off-t
Anonymous
Отлично, я смог с помощью libclang выдрать немного инфы. Только не ясно - а как получить список родителей (базовых классов) текущего класса (курсора)?
Anonymous