ANSI C и зависимости
Apr. 10th, 2016 05:03 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
А вот как в сишечьке принято втаскивать сторонние либы в зависимости?
Например, мне нужна структура типа паскалевских строк - т.е. буфер, размер и capacity.
Делать самому - очевидный грех, брать готовое - так у половины сторонних либ самодельные аналоги, а из готового обычно какой-нибудь нечеловеческий трэш вроде GLib, который под винду еще просто так и не соберешь.
Например, мне нужна структура типа паскалевских строк - т.е. буфер, размер и capacity.
Делать самому - очевидный грех, брать готовое - так у половины сторонних либ самодельные аналоги, а из готового обычно какой-нибудь нечеловеческий трэш вроде GLib, который под винду еще просто так и не соберешь.
no subject
Date: 2016-04-10 02:20 pm (UTC)Это juick.com/Kim, можешь у него спросить.
no subject
Date: 2016-04-11 12:00 pm (UTC)no subject
Date: 2016-04-12 11:08 pm (UTC)А вообще там всё просто. Если нужно реализацию чего-нибудь большого, вроде работы с графикой, с сетью, с базами данных и того подобного, то берутся просто соответствующие либы и подключаются с использованием pkgconfig (или его обёртки из autoconf/cmake/etc). Если нужно чего-то маленьго, вроде хэшей, контейнеров или , то можно либо смотреть на ccan или gnulib на предмет наличия готовой реализации (впрочем иногда даже тут бывают вещи вроде sglib или libav которые можно взять либой, но уже реже) и при отсутствии таковой писать самостоятельно, либо брать монструозные вещи вроде glib.
А вообще если такой вопрос возник, то возможно вы уже вышли из того списка задач для которого C круче всех и стоит взять язык в котором стандартные библиотеки умеют все базовые вещи: плюсы, питон, хаскель, джаваскрипт на ноде и так далее.
Как-то так
Если нужно реализацию чего-нибудь большого, вроде работы с графикой, с сетью, с базами данных и того подобного, то берутся просто соответствующие либы и подключаются с использованием pkgconfig (или его обёртки из autoconf/cmake/etc). Если нужно чего-то маленьго, вроде хэшей, контейнеров или переносимых обёрток на сишные функции, то можно либо смотреть на ccan или gnulib на предмет наличия готовой реализации (впрочем иногда даже тут бывают вещи вроде sglib или libav которые можно взять либой, но уже реже) и при отсутствии таковой писать самостоятельно, либо брать монструозные вещи вроде glib.
А вообще если такой вопрос возник, то возможно вы уже вышли из того списка задач для которого C круче всех и стоит взять язык в котором стандартные библиотеки умеют все базовые вещи: плюсы, питон, хаскель, джаваскрипт на ноде и так далее.
Пофиксил очепятки
no subject
Date: 2016-04-10 03:13 pm (UTC)no subject
Date: 2016-04-10 03:32 pm (UTC)no subject
Date: 2016-04-10 03:38 pm (UTC)вот как раз таки на сях идеоматично такое писать руками, а тащить в виде зависимостей - очевидная содомия
no subject
Date: 2016-04-10 06:34 pm (UTC)no subject
Date: 2016-04-10 03:40 pm (UTC)для windows вроде nuget же придумали уже. Вот оттуда и брать.
вообще такая ерунда как строки с известной слиной едва ли существует в виде отдельной библиотеки, как правило это вствоено в более крупные фреймворки или вообще внутренние в каком-нибудь проекте.
no subject
Date: 2016-04-10 03:45 pm (UTC)Еще я опасаюсь, что будет как с тем npm и leftpad.
no subject
Date: 2016-04-10 04:06 pm (UTC)не только. Вот например для плюсов: https://www.nuget.org/packages/msgpack-c/
по идее там любой язык сойдёт, это ж просто зип архив
> будет как с тем npm и leftpad
ну вообще можно поднять свой nuget сервер и скопировать туда.
no subject
Date: 2016-04-11 09:23 am (UTC)no subject
Date: 2016-04-10 03:43 pm (UTC)no subject
Date: 2016-04-10 07:55 pm (UTC)no subject
Date: 2016-04-10 04:44 pm (UTC)no subject
Date: 2016-04-10 06:21 pm (UTC)А так сишечка и зависимости в одном флаконе это чаще всего боль. Чем их меньше, тем лучше.
no subject
Date: 2016-04-10 06:39 pm (UTC)Там есть практически все что нужно - std::string и STL.
no subject
Date: 2016-04-10 06:45 pm (UTC)no subject
Date: 2016-04-10 07:48 pm (UTC)подточить скопированные сорцы напильничком, покласть в свои сорцы без указания источнега
no subject
Date: 2016-04-10 07:59 pm (UTC)no subject
Date: 2016-04-10 09:36 pm (UTC)эти -- могут
тем более что надо бюджет наполнять
а может надо было просто наехать на контору
в 1997 в миде я лично ставил прогу на нелицензионную вин 95
no subject
Date: 2016-04-10 09:49 pm (UTC)no subject
Date: 2016-04-12 05:13 pm (UTC)Есть Autodesk, Microsoft, Adobe. 1C еще. Вот за софт этих могут и дело завести. До всего остального органам дела нет.
no subject
Date: 2016-04-12 05:16 pm (UTC)no subject
Date: 2016-04-12 05:19 pm (UTC)no subject
Date: 2016-04-10 09:37 pm (UTC)no subject
Date: 2016-04-10 09:38 pm (UTC)no subject
Date: 2016-04-10 09:47 pm (UTC)no subject
Date: 2016-04-11 12:02 pm (UTC)no subject
Date: 2016-04-16 09:40 pm (UTC)а пользователи виндовс должны страдать - их пользоваться виндовс никто не заставлял
no subject
Date: 2016-04-16 09:43 pm (UTC)Ну а статик линкадж - это так вентузятники решают вопрос с дистрибьюцией.
И я не знаю что посоветовать и не вижу как сделать хорошо в этой, бля, операционке
no subject
Date: 2016-04-16 11:30 pm (UTC)