Вопросы по С/С++ (СИ)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3712224#p3712224"][uquote="VladislavS",url="/forum/viewtopic.php?p=3712178#p3712178"]Открываем стандарт С++17.[/uquote]
При чем здесь кресты? Эмбеддеры на крестах не пишут! Кресты нужны исключительно для создания GUI на ненужной Qt![/uquote]
Тебя забыли спросить :)

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3712230#p3712230"]VladislavS, я же Вам уже писал, что C++17 для продуктива пока не готов. Не надо бежать впереди паровоза. И мои проблемы не надо решать, так как я их давно решил при помощи pragma, что совместимо даже с C89/90.[/uquote]
Как язык может быть не готов? С++17 и через 10 лет останется С++17. Это вы к нему не готовы.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

VladislavS, нет ни одного компилятора, способного со включенным режимом C++17 скомпилировать проекты, успешно компилируемые в режиме C++11
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Во-первых, стандарт языка то тут причём? Во-вторых, я, например, пользуюсь компилятором у которого нет выбора стандарта - либо С, либо С++ все до 17-го.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Eddy_Em »

Стандарт языка хотя бы при том, что, скажем, констркукции из С99 будут неправильными в С89. А конструкции С77 неверны в С11.
Я как-то убил неделю и вылизал все ошибки, связанные с компилированием девятым g++ древнего крестового кода (можешь посмотреть на гитхабе RTS2). Заодно несколько грубых ошибок исправил. А Кубанек - основной автор RTS2 - отказался пулриквест принять, мотивируя это тем, что у него на половине железок четвертый g++ ! После этого я понял, что RTS2 нельзя использовать, и нужно писать свой велосипед. Заодно он будет на кошерной сишечке, а не дебильных крестах!
Так вот, по теме: с опциями -Wall -Werror -Wextra код, который вроде как нормально просвистывал по стандарту крестов 99 года, по стандарту 11 выдавал дикое количество ошибок! А по стандарту 17 это вообще было нечто...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Ну всё верно, язык совершенствуется. Он ловит больше гадостей в коде - надо только радоваться.

Тот же fallthrough, о котором вы сами сегодня заговорили. Ну разве плохо, что компилятор спросит не забыл ли я там break?
Последний раз редактировалось VladislavS Чт окт 03, 2019 20:52:56, всего редактировалось 1 раз.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

VladislavS, я без понятия каким компилятором Вы пользуетесь, но, например, GCC реализовал полную поддержку C++17 только в 8-ой версии, тогда как многие проекты до сих пор с 5.4 выбраться не могут, а редкие прешли на 7.x только в прошлом или этом годах. На 8.x я вообще ни одного крупного проекта не видел.
Red Hat до сих пор на 5.4, Ubuntu сумели в прошлом году переползти на 7.3, MinGW тоже стабильно работает только на 7.4 максимум.
Можете назвать хотя бы один крупный проект на GCC 8.X, не говоря уже о 9.X?
Или хотите на примере другого компилятора рассмотреть масштаб бедствия?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Вы темой не ошиблись случайно? "Список форумов » Микроконтроллеры и ПЛИС » Разные вопросы по МК » Вопросы по С/С++ (СИ)". Я когда Ubuntu на кортексе соберусь запустить в следующий раз обязательно обращусь.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Вопросы по С/С++ (СИ)

Сообщение arkhnchul »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3712252#p3712252"]основной автор RTS2 - отказался пулриквест принять, мотивируя это тем, что у него на половине железок четвертый g++ ! После этого я понял, что RTS2 нельзя использовать, и нужно писать свой велосипед[/uquote]берешь и форкаешь, лицензия позволяет. Чо сразу велосипедить-то?)
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Eddy_Em »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3712266#p3712266"]Можете назвать хотя бы один крупный проект на GCC 8.X, не говоря уже о 9.X?[/uquote]
Не понял, а в чем, собственно, может быть проблема? Скажем, у меня дома:

Код: Выделить всё

gcc-config -l
...
 [5] x86_64-pc-linux-gnu-7.3.0
 [6] x86_64-pc-linux-gnu-8.2.0
 [7] x86_64-pc-linux-gnu-8.3.0 *
На работе:

Код: Выделить всё

 [9] x86_64-pc-linux-gnu-7.3.0
 [10] x86_64-pc-linux-gnu-8.3.0 *
 [11] x86_64-pc-linux-gnu-9.1.0
 [12] x86_64-pc-linux-gnu-9.2.0
И ничего, гетушка собирается, проблем нет. Коллега вообще на девятый gcc уже перешел на постоянной основе...
[uquote="arkhnchul",url="/forum/viewtopic.php?p=3712274#p3712274"]берешь и форкаешь, лицензия позволяет. Чо сразу велосипедить-то?)[/uquote]
У меня от крестов неудержимый рвотный рефлекс! Так что, лучше я с нуля напишу, разве что идею планнера у Кубанека возьму (если у него алгоритм хороший, надо внимательней его статьи почитать) — все равно мне не нужно поддерживать 100500 устройств, у нас будет три телескопа, немного разные, но это не 20 полностью разнородных телескопов! Из стеллариума я давно управляю ими + можно на баше написать скрипт, чтобы поочередно наводиться на разные объекты, фокусироваться при необходимости и делать научные экспозиции. Но народу GUI нужно, так что, придется веб-морду писать по-любому.
Последний раз редактировалось Eddy_Em Чт окт 03, 2019 21:07:12, всего редактировалось 1 раз.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

VladislavS, нет не ошибся. Это обозначает, что если я попробую перейти на GCC 8.X или, тем более, на GCC 9.X, подавляющее большинство того, что доступно в исходниках на просторах интернета у меня не будет компилиться. И не важно что это: CORDIC, Рид-Соломон, Хаффман или даже просто арифметика с фиксированной точкой.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Eddy_Em »

ПростоНуб, выше я уже написал! Все будет компилироваться. По крайней мере, с гентушными патчами — стопудово! Иначе девятый gcc в генте даже в unstable бы не находился. Правда, в stable до сих пор самое свежее - gcc-7.3.0-r6. Возможно, боятся, что что-нибудь да отвалится под восьмым или девятым. Но я никаких проблем не встречал на восьмом.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

Eddy_Em, 8.3 в Генте множество пакетов собрать не может, хотя уже в состоянии собрать систему на C (C++ в системе нет). Именно поэтому, Вы сами написали, что приходится держать 7.3. Удалите у себя GCC 7.3 и попробуйте пересобрать мир. Я поприкалываюсь )))
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Остаётся только посочувствовать :)
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Eddy_Em »

ПростоНуб, ХЗ, может, каким-нибудь ублюдским культяпкам старый гцц и нужен. Но вот у нас сервак стоит, там мы перешли на 9.1.0 и удалили все старые gcc. После этого пересобрали мир и ядро (на 32-ядерном серваке с 64ГБ оперативы очень шустро все компиляется). И ничего не отвалилось!
Но там, понятное дело, ни иксов, ни иксовых приложений, ни культяпок нет за ненадобностью... Сервак все-таки!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

Eddy_Em, там, с очень большой вероятность, нет ни одного исходника на C++. А основные грабли собирают именно на плюсах, а не C.
Но боевой сервак я бы не рискнул на 9.X переводить. По крайней мере, пока на сайте генты моя платформа не позеленеет. А пока даже 8.3 без патчей "-r1" все не компилит.

Добавлено after 4 minutes 58 seconds:
VladislavS, Вы, кстати, так и не ответили, каким компилятором пользуетесь и как Вам удается им компилировать сторонние библиотеки.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3712300#p3712300"]VladislavS, Вы, кстати, так и не ответили, каким компилятором пользуетесь и как Вам удается им компилировать сторонние библиотеки.[/uquote]А вы и не спрашивали. Перечитал последние сообщения ещё раз - точно, не спрашивали.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: Вопросы по С/С++ (СИ)

Сообщение NStorm »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3712266#p3712266"]Red Hat до сих пор на 5.4, Ubuntu сумели в прошлом году переползти на 7.3, MinGW тоже стабильно работает только на 7.4 максимум.
Можете назвать хотя бы один крупный проект на GCC 8.X, не говоря уже о 9.X?[/uquote]
Только вчера собирал на CentOS 7 пакет нужный GCC 8. Там просто ставится yum install devtoolset-8 и вот тебе gcc-8.x. В Debian (и всех дистрах, основанных на нём) тоже без проблем ставится 8ой GCC. Просто он не "по-умолчанию". Не вижу в этом проблемы.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Вопросы по С/С++ (СИ)

Сообщение jcxz »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3712123#p3712123"]jcxz, хватит смешить народ и прочитайте, что написал я, а куда понесло Вас )))[/uquote]
Я написал следующее (напоминаю):
[uquote="jcxz",url="/forum/viewtopic.php?p=3711902#p3711902"]В корне неправильно!
От варнингов нужно избавляться всегда.
...
А как именно избавляться - это уже можно делать по-разному.[/uquote]
С чем Вы не согласились и начали приводить что-то маловразумительное, не понятно как относящееся к моей фразе.

Если Вам смешно, поясните: что именно смешно? Посмеёмся вместе с Вами. .....или над Вами. :)))
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: Вопросы по С/С++ (СИ)

Сообщение ПростоНуб »

jcxz, если бы Вы умели читать, то обнаружили бы, что и привел пример ситуации, когда от предупреждения можно избавиться наиболее оптимально только запретив компилятору это предупреждение выдавать.

А смешно то, что в моем примере речь шла о неиспользуемых параметрах функции, это обсуждалось, были предложены варианты подавления этих предупреждений для GCC, SDCC и даже стандарта C++17, после чего откуда то возникли Вы, с преобразованиями типов указателей на функцию, что намного опасней, чем подавление малозначительного предупреждения.

Понятно, что я привел простейший пример. Более жизненный пример - Timer1_Callback/Timer2_Callback функции из CMSIS_RTOSv1. Они имеют один аргумент (void *). И что Вы делаете, если этот аргумент в данном проекте Вам совершенно не нужен?
Последний раз редактировалось ПростоНуб Пт окт 04, 2019 10:19:03, всего редактировалось 1 раз.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Eddy_Em »

ПростоНуб, из-за слишком "умного" gcc мне, начиная где-то с gcc-8, пришлось в makefile'ы добавлять "-Wno-trampolines", иначе мой код просто не собирается: с какого-то перепоя авторы gcc решили, что вложенные функции недопустимы! А между тем, вложенные функции во многих случаях - единственное удобное решение, позволяющее не париться с параметрами (недостающая часть параметров берется из аргументов и переменных родительской функции) и не тратиться слишком сильно на размер кода (как в случае с static inline, что иной раз не очень хорошо для МК).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Ответить

Вернуться в «Разные вопросы по МК»