LINUX.ORG.RU

Разработка на Pure C

 , ,


0

2

Комрады, в воздухе витает необходимость реализовать пару библиотек и небольших программ (с минимальным GUI) на Pure C. Подскажите, что ныне используется для компиляции? Какие IDE? Появились ли пакетные менеджеры?

З.Ы.: не пользовал Pure C с года этак 2003/2005, поэтому буду рад любой информации. Заранее спасибо!

З.З.Ы.: С++ не интересует, сразу прошу не терять время советуя что-то из его экосистемы.

★★

Последнее исправление: silver-bullet-bfg (всего исправлений: 1)

Подскажите, что ныне используется для компиляции? Какие IDE? Появились ли пакетные менеджеры?

GCC, что же ещё. Vim. Конечно же появились, Portage, apt, rpm, тысячи их.

Harald ★★★★★
()

Подскажите, что ныне используется для компиляции?

Компиляторы с поддержкой C нужного тебе стандарта. При необходимости и желании использовать - удобная для тебя система сборки.

Какие IDE?

Любой текстовый редактор. Любая IDE с поддержкой C.

Появились ли пакетные менеджеры?

Что? Пакетные менеджеры были и в 2003, поэтому писать их не нужно.

grem ★★★★★
()

можно использовать те же компиляторы и IDE, что и в 2003/2005. добавочно появилось недо-IDE VS Code, и компилятор clang. я лично использую IDE Xcode (на маке), и соответственно компилятор clang. для поддержки линукса преимущественно docker и virtualbox.

waker ★★★★★
()

Коллеги. Немного не уточнил. Пакетные менеджеры для экосистемы C, не для онтопика. Интересует, что является best practice для С в 2020

silver-bullet-bfg ★★
() автор топика
Ответ на: комментарий от Harald

Что такое «Pure C»

Оговорка важная, потому что редко сишники обходятся без трусов крестов. А тут сразу облом: крестовый компилятор запрещен.

anonymous
()

Pure C и Dirt C — C и C++?

Зачем выдумывать запутывающие термины?

shpindel
()
Ответ на: комментарий от silver-bullet-bfg

Зависимости ты должен предоставлять сам через систему или ручками.

Можешь средствами системы контроля версий выкачивать или как поделаешь.

Пакетный менеджер дистрибутива подойдёт.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)

Подскажите, что ныне используется для компиляции?

Тоже что и для C++ (gcc, clang). Почти все компиляторы C++ поддерживают Си.

X512 ★★★★★
()
Ответ на: комментарий от silver-bullet-bfg

экосистемы C

Такой не существует. Существуют отдельные экосистемы разных ОС и проектов со своими практиками и управлением зависимостями.

X512 ★★★★★
()
Ответ на: комментарий от X512

Такой не существует.

Почему нельзя плюсануть по-человечески сообщение на ЛОРе? Ну что за фигня?

Плюсую.

anonymous
()
Ответ на: комментарий от silver-bullet-bfg

Весь дистрибутив - экосистема С.

Harald ★★★★★
()
Ответ на: комментарий от silver-bullet-bfg

Наоборот хорошо.

При написани кода на C отсутствие пакетного менеджера - последнее, что тебя должно беспокоить. А к моменту начала написания кода уже вообще не должно беспокоить.

Ну и что же ты хотел подключать пакетным менеджером?

grem ★★★★★
()
Ответ на: комментарий от grem

Ну и что же ты хотел подключать пакетным менеджером?

Как чего? Прогу, которая сама всё напишет по тех. заданию.

anonymous
()
Ответ на: комментарий от anonymous

Прога передающая всё написанное по техзаданию заказчику и объясняющая ему сама, почему в ней отсутствует то, чего не было в техзадании была бы полезнее.

grem ★★★★★
()
Ответ на: комментарий от grem

была бы полезнее.

Логично. Вот видишь сколько «годноты» надо. А сам спрашиваешь «что».

anonymous
()
Ответ на: комментарий от hateyoufeel

Могу посоветовать разве что психотерапевта.

У кого чего болит,…

anonymous
()
Ответ на: комментарий от anonymous

Поддержу анона, только вместо последнего лучше взять Nix.

hateyoufeel ★★★★★
()
Ответ на: комментарий от silver-bullet-bfg

Чтобы «что-то сдвинулось» это должно быть нужно. Языкоспецифичные пакетные менеджеры приналичие системных не нужны. А так да, в С мире за 20 лет ничего не изменилось.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Языкоспецифичные пакетные менеджеры приналичие системных не нужны.

Нужны. Зачем зависеть от пакетного менеджера конкретного дистрибутива? Например с помощью pip в python можно установить пакет на любой системе (Windows, Linux, BSD, Haiku, Mac OS) и дистрибутиве. Без pip пришлось бы страдать с over 9000 разных несовместимых пакетных менеджеров или вообще руками копировать файлы и прописывать пути. В результате python не был бы так популярен. Другие языки (JavaScript, Ruby, PHP) тоже популярны за счёт своих пакетных менеджеров. Новые языки без своей пакетной системы никому не нужны.

X512 ★★★★★
()

Пишем уже много лет в QtCreator, внутри можно обмазывать кастомными инструкциями для сборки,встроенный графический отладчик и анализаторы.

PPP328 ★★★★★
()
Ответ на: комментарий от X512

Си — он не про установить пакет на любой системе, а про саму эту систему.

wandrien ★★
()

что ныне используется для компиляции?

gcc

Какие IDE?

все потихоньку сползает в VsCode, хотя последний vim хорош (отладку подцепить уже можно)

Появились ли пакетные менеджеры?

Странно что никто не упомянул conan, Vcpkg, build2 и clib (lazyman choice), может еще что-то наваяли.

olelookoe ★★★
()
Последнее исправление: olelookoe (всего исправлений: 1)

Появились ли пакетные менеджеры?

Да, но не так чтобы их использовали (часть для плюсов, но они и с C будут работать). clib, возможно, один из самых популярных (но при этом он просто притягивает исходники в проект). Там в вики хранится список библиотек, так что можно использовать как каталог.

xaizek ★★★★★
()

Им языки и технологии придумывают, что бы производительность труда поднять, а они все долбятся в этот архаизм =\

AntonyRF ★★★★
()
Ответ на: комментарий от silver-bullet-bfg

Вроде ничего не поменялось, все пользуются CMake/Autotools для сборки. При первом запуске ./configure оно находит библиотеки из дистра. А потом во все другие дистры нужно опакечивать заново и эти системы сборки помогают это сделать каждый раз отдельно с минимальной болью (насколько это возможно учитывая всеобщую архитектуру С)

vertexua ★★★★★
()
Ответ на: комментарий от AntonyRF

зевает

Давай, бухти мне, как космические корабли бороздят Большой театр (с)

olelookoe ★★★
()
Ответ на: комментарий от AntonyRF

Им языки и технологии придумывают, что бы производительность труда поднять, а они все долбятся в этот архаизм =\

Так это самое… Это ж учиться нужно.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну да, этого же допустить нельзя, а то еще запралату поднимут или по лучше место предложат, кто же быдлокодить на чистом Си будет-то?!

AntonyRF ★★★★
()
Ответ на: комментарий от AntonyRF

а то еще запралату поднимут

В какую сторону «поднимут» то? Мож не стоит?

anonymous
()
Ответ на: комментарий от vertexua

все пользуются CMake/Autotools для сборки

для микропроекта это перебор

обычный make. ну или redo, если хочется новых ощущений.

olelookoe ★★★
()

Подскажите, что ныне используется для компиляции?

Смотря чем занимаешься. Ну если уж про винду пишешь, то ставь Visual Studio, в ней Clang компилятор, собирай с помощью CMake, как ПМ бери vcpkg.

paramon
()

Подскажите, что ныне используется для компиляции?

Компиляторы. Например GCC, Clang. Для сборки обычно берут cmake или тупо пишут мейкфайлы. Ну или встроенную в IDE хрень.

Какие IDE?

Пофиг. Я какую-то IDE использовал на базе эклипса, когда прошивки под контроллер писал(ну там типа какая-то фирменная SDK, блаблабла), но мне все эти IDE не нравятся. Можешь какой-нибудь Qt creator попробовать, или там code::blocks или емаксом обмазываться. Я и без IDE писать могу.

Появились ли пакетные менеджеры?

Чтоб и на винде, и на линуксах? Или только линукса хватит? Ну вообще можно Gentoo использовать. Лучший пакетный менеджер.

SZT ★★★★★
()
Ответ на: комментарий от RazrFalcon

Целая страница сообщений и ни одного упоминания Rust?

Какой Rust если автор даже C++ не приемлет?

X512 ★★★★★
()

C тем и хорош что ему не нужны пакетные менеджеры и иде. Системный пакетный менеджер и любой редактор/иде(если lldb и gdb из команд лайн не подходит). C сам по себе простой и для норм подсветки синтаксиса ему не нужны LSP и товарищи. Инты это инты, функции это функции, структуры это структуры, указатели это указатели. Никаких пользовательских типов данных со своей семантикой. Компиляторы clang или GCC всегда под рукой на любой системе, ровно как и make.

curver
()
Ответ на: комментарий от silver-bullet-bfg

зря ты это имел в виду, бери с++ и не выкаблучивайся, рядом вон тема похожая, просто используй минимальные действительно удобные функциональные особенности из с++ типа обобщенных типов (без фанатизма), пространства имен (потому что это просто удобно), constexpr (также спасет тебя в многих случаях, но не во всех), да и в конце концов все равно придется ваять либо свои примитивы и контейнеры, так почему бы не взять уже что-то готовое и отлаженное.

Не дуркуй.

anonymous
()

А для чего нужен «пакетный менеджер»? Такого как в js и прочем нет к счастью.

Я юзаю nix, он может просто запустить тебе консоль, где окружение уже собрано, которое нужно. Даешь файлик с описанием окружения кому то, и у него появляется точно такое же.

Еще часто юзают conan. Его возможности скудны (после nix’a), но может настроить cmake например. Его выбирают в основном за поддержку офтопика.

zerhud
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.