LINUX.ORG.RU

IDE для C/C++(или хотя бы только для C)

 , , , ,


0

3

Существует ли что-то рабочее помимо шлангд? Шланг не особо умеет в C++, а в C не умеет совсем.

QtCreator с собственным парсером(без шлангд) даёт ошибки уже в других местах и большем количестве. Тут получается шило на мыло.



Последнее исправление: qweururu (всего исправлений: 1)
Ответ на: комментарий от Bfgeshka

IDE. Шлангд здесь означает IDE работающие поверх него(и информацию о смысле языковых конструкций берущие из него).

Код набирать уметь и иметь подсветку синтаксиса мало?

Ну это просто блокнот. Да, этого мало. Как минимум навигация, онлайн-варнинги, и тултипы с инфой об объектах/типах в коде. Если кратко - хочу также как со шлангд, но чтобы в сишку умело лучше. Шансов мало, но может есть что-то такое.

qweururu
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Не, я уже попробовал - собираю-то я гцц и там всё чётко работает. Но идешка(шлангд) на коде сложнее ansic хероты работает перестаёт и писать становится неудобно.

Я идешку ищу, компилятор есть.

qweururu
() автор топика

Смысл clang как раз весь тот семантически правильный анализ. То что оно лучше не умеет, так это потому что сишка тебе разрешает по ногам стрелять, так что даже компилятор этого не понимает. Хочешь лучше, бери другие ЯП, в которых нет UB.

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

А какая айдеешка. А то сейчас выяснится что ты её готовить не умеешь и там не прописал свою версию/диалект C++ или сишки. Хотя стой, у нас есть одна единственная айдеешка для сишки и крестов, она работает в оффтопике и называется Visual Studio (не путать с Visual Studio Code). Больше ни на каких айдеешках серьёзные корпорасты не сидят, разве что для каких-то нишевых штук, вроде QtCreator-а если весь проект крутится вокруг Qt фреймворка.

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

VSCode + clangd + прямые руки или CLion. clangd позволяет вполне комфортно работать с C++. Проблемы начинаются в лютом шаблонном коде, где вывести тип аргумента порой бывает крайне проблематично. А что у тебя там в C не работает, я даже не могу представить. Его же сильно проще индексировать.

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

clangd

Не работает.

CLion

Я там спрашивал выше, но с ответами как всегда. Вот вопрос:

Размер, смещение и выравнивание в тултипах показывает? Заскринь на моём примере.

Быстро погуглить не смог - не нагуглилось.

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

Я тебе линканул пример в оп, ты читать что-ли не умеешь?

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

Ну, во-первых, ты даже не стараешься опции ставить, чтоб меньше говна сыпало ворнингами, во-вторых, ты юзаешь расширения от мелкомягких (анонимные структуры) и удивляешься что в шланге они не работают (отчего у тебя всё и сыпется). Ну так если они работают в gcc то это заслуга gcc что он стал какие-то майкрософтовские фичи, не имеющие отношения к языку C у себя реализовывать. А если ты на майкрософтовском диалекте пишешь, то пиши в визуал студии под оффтопиком. Там у тебя всё будет работать как надо.

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

vscode либо zed - на выбор Можно еще CLion попробовать.

clangd лучший LSP для C/C++ на данный момент, других нормальных попросту нет.

anonymous
()

Eclipse CDT. Форматирование, поиск и замена по всем файлам в проекте, автодополнение, переход по ctrl+лкм. Настроить можно почти что угодно (хоткеи, расположение исходников итд). При переносе проекта между системами достаточно его скопировать в workspace и открыть. Есть встроенная система сборки, так же можно использовать cmake/meson. Минусы: это java. На слабых компах нормально работают только версии от 2020 года, новые начинают тормозить. Если нужны интеграции с нейросетями наверное лучше взять что-то другое, либо придется писать плагин самому.

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

Я тебе линканул пример в оп, ты читать что-ли не умеешь?

В твоем примере две пустые функции без пояснений, что именно «не работает». Я за тебя это сам исследовать что ли должен?

m0rph ★★★★★
()

Неиронично, но Qt Creator. У него есть свой парсер, который не то чтобы умеет в Си, но хотя бы не мешается.

Шлангд какая-то срань которая только течёт и тормозит. Пробовал ccls, но QtC с ней почему-то дружить отказывается. Работало в Kate.

a1ba ★★★
()
Последнее исправление: a1ba (всего исправлений: 2)
Ответ на: комментарий от peregrine

Опять ты нейробред запостил, болтун с надутыми щеками. Я ведь тебе сказал - не спами здесь этой херотой.

Никакого заспама ворнингами там нет, никаких «мелкомягких» расширений там нет, анонимные структуры это стандарт а не расширение, ни в какой говностудии это не работает, проблема там не в каких-то «расширениях» а в кастомном выравнивании, к языку C отношения не имет твоя тотальная некомпетентность и ламерство по всем вопросам.

qweururu
() автор топика
Ответ на: комментарий от melkor217

Что там не готово, алиас для «_Alignas (since C11) operator»? К тому же оно работает и всё там готово, но только в рядовых случаях. Как и всё в шланге - это типичный их подход.

qweururu
() автор топика
Ответ на: комментарий от a1ba

У него есть свой парсер, который не то чтобы умеет в Си, но хотя бы не мешается.

Я пробовал это. Оно там в других местах «ошибки» увидело и получилось примерно тоже, что и шлангд, только ещё и инфы в тултипах нету.

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

У меня с ним проблемы только в designated initializers. Но их и clangd как будто не осиливает.

Странно это все. Но наверное потому что в С++ такое не практикуется.

a1ba ★★★
()
Последнее исправление: a1ba (всего исправлений: 1)
Ответ на: комментарий от qweururu

Clang не поддерживает гцц-шную отсебятину. Вот это сюрприз.

Причём по поводу nested functions было сказано отдельно и неоднократно: это противоречит стандарту и имплементировать эту срань мы не будем.

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

За что такая нелюбовь к Си? Зачем из него всё время пытаться сделать С++? Следующим шагом нужно constexpr добавить, правильно понимаю?

Некоторые уникумы и defer предлагают в Си добавить. Не проще сразу взять другой язык?

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

Я люблю Си. Потому и хочу, чтобы он был менее дубовым.

defer ничего не сломает, он и так есть в компиляторах и в продакшене его используют.

И constexpr бы тоже не помешал, да, чтобы не полагаться на то, что компилятор может быть догадается оптимизировать сам. И if constexpr тоже нужен, чтобы не наворачивать #ifdef и опять же не полагаться на то, что компилятор сам догадается выкинуть ненужный бранч.

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