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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

а как вы взаимодействуете с пользователм? или ваши МК-шные прокты к компьютеру не подключаются? или у вас все модно - сразу HTTP и интернет?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

ARV, если необходима коммуникация с ПК то она, конечно, может быть и по UART, но всю визуализацию тогда берет на себя ПК. Например, на QT, хоть его тут и хаяли. Видимо любители гнома )))

Добавлено after 4 minutes 4 seconds:
ARV, на самом деле, если надо быстро на коленке, то проще сделать неплохой GUI на Perl/Tk
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

да ладно!
терминал есть на любом компе, а ваш визуализатор еще писать и отлаживать надо :) зачем мне заниматься лишней работой? консоль!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

Понятно, что на ПК можно наваять хоть черта лысого (гном, кстати, я тоже ненавижу, как и кеды; к культяпкам же у меня негативное отношение лишь потому, что они: а) под ненужные кресты, б) очень жирные, в) и не нужны в 99.999% случаев). Можно и с бинарным протоколом работать.
Но ведь приятней (особенно при отладке), когда ты можешь просто при помощи cat/echo (ну или открыв терминал — да хоть сессию screen запустив) вручную писать команды и видеть ответы на них.
Поэтому я тоже всегда протокол обмена делаю текстовым. Заодно плюс — данные сериализуются, что не вызывает проблем, связанных с "конечностью" машины.
Но вот для вывода целых у меня маленький легкий велосипед, а не жирнючий printf!

Добавлено after 34 seconds:
ARV, у вантузоидов "из коробки" терминала нет!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Eddy_Em писал(а):у вантузоидов "из коробки" терминала нет!
ну так их готовых существует чуть меньше миллиона :) а в Eclipse так вообще встроенный
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3708163#p3708163"]Reflector, я внимательно читаю.[/uquote]
Я с начала разговора с ARV привел раз пример со строкой:

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

Console.Write($"{1} {'1'} {"1"}");
два пример со строкой:

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

print('1');
print(1);
print("1");
три пример со строкой:

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

cout << '1' << 1 << "1";

operator<<('1');
operator<<(1);
operator<<("1");
В итоге звучит вопрос откуда взялся указатель на const char*, в ответ я в четвертый раз привожу пример со строкой... И чтобы уже окончательно добить еще спрашивается а зачем же эту строку еще и в функцию принимающую int передавать :) Но каюсь, если программист не понимает мои объяснения очевидных вещей, значит я просто не умею их очевидно объяснять :)
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

Reflector, это я видел. Но я просил привести весь код, но не вижу его! Где реализация полиморфизма? Но Вы почему то проигнорировали мою фразу о параметрическом полиморфизме, которого в C++ нет, а использование шаблонов для его реализации легко приводит к непредсказуемому поведению программы. На вопрос о классическом использовани шаблонов в C++ тоже не ответили.
В Вашем примере для C++ обработка указателя и целого выполняется совершенно разным кодом! И где гарантии, что этот разный код будет делать именно то, что ожидает от него использующий шаблон? А в С всегда понятно, какая функция будет выполнятся. Не будете же Вы каждый раз используя вызов метода проверять, а нет ли там различий в его реализации для разных типов? Так уж точно трудоемкость на C++ станет выше, чем на С )))

Добавлено after 4 minutes 32 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3708185#p3708185"]зачем мне заниматься лишней работой?[/uquote]
ARV писал(а):а как вы взаимодействуете с пользователм?
Видимо, я уважаю пользователя, а Вы нет )))
Eddy_Em писал(а):Но ведь приятней (особенно при отладке)
Зачем для отладки что-то пихать в UART? Даже если конкретный МК не поддерживает передачу отладочных сообщений по SWD/SWIM/JTAG или что там у него еще, то всяко проще завести пару статических переменных и точку останова на запись по их адресу, чем занимать целый UART для отладки, да еще и писать код для него.

Добавлено after 7 minutes 19 seconds:
ARV, если Вы хоть немного знаете C++, то простейшую морду на QT сможете сделать за десять минут. Но ее хоть не стыдно будет показывать заказчику )))
Eddy_Em писал(а):гном, кстати, я тоже ненавижу, как и кеды; к культяпкам
Так на чем же Вы пишете GUI, особенно, если оно должно быть кроссплатформенным? Как джедай на GDI? )))
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

ПростоНуб писал(а):Но ее хоть не стыдно будет показывать заказчику )))
и эти люди возмущаются, когда я делю местное сообщество на профессионалов и любителей!

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

Мой уютный бложик... заходите!
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

ARV, то есть, Вы не уважаете самого себя/свою жену/детей/внуков/тещу/тестя/друга (продолжать можно до бесконечности) ? )))

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

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

Сообщение Eddy_Em »

ПростоНуб писал(а):Зачем для отладки что-то пихать в UART?
Чтобы видеть, что там происходит! Точки останова - для слабаков! Да и как иначе отлаживать, скажем, тот же USB? Когда мне нужно найти проблему, почему компьютер "не видит" мою железку (т.к. wireshark показывает уже на высоком уровне, и невовремя выпущенный ZLP или подобную фигню не способен обнаружить)!
ПростоНуб писал(а):Так на чем же Вы пишете GUI, особенно, если оно должно быть кроссплатформенным?
Зачем мне GUI, когда есть CLI? А если все же понадобится отображать картинки, есть OpenGL — на нем картинки и рисую. Ну, а чтобы кроссплатформенно и и мышкотыкательно — так это веб-морда! Все равно на любом компьютере если не апач, так хотя бы nginx настроен и запущен! Если же нет, то можно и от рута демон запустить — парсить элементарные GET-запросы и отдавать соответствующие ресурсы (картинки и html-файлы) можно прямо внутри websocket-сервера.
Так что, ни культяпки, ни гномы, ни тикли не нужны!
ПростоНуб писал(а):Как джедай на GDI?
Гугол говорит мне: "GDI, Gasoline Direct Injection". А что именно имелось в виду? Я никаких GDI знать не знаю!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

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

Сообщение arkhnchul »

[uquote="ARV",url="/forum/viewtopic.php?p=3708033#p3708033"]когда я вижу + или & - я уверен (и хочу эту уверенность не терять), что это именно плюс и именно амперсенд, и их поведение/назначение было усвоено мною еще на заре освоения языка.[/uquote]т.е. здесь вы спокойно допускаете зависимость поведения от контекста, а в случае с << - нет? "Ты или крестик сними, или трусы одень"(с).
[uquote="ARV",url="/forum/viewtopic.php?p=3708033#p3708033"]'1' и 1 - это два разных числа[/uquote]для операций с потоками это тоже два разных числа
[uquote="ARV",url="/forum/viewtopic.php?p=3708033#p3708033"]и выводиться они будут по-разному[/uquote]в абсолютном большинстве случаев выводиться на экран для того, чтобы человек на них глазами смотрел, они будут одинаково.
[uquote="ARV",url="/forum/viewtopic.php?p=3708044#p3708044"]язык программирования должен быть логически непротиворечивым[/uquote]а где вы видите противоречия логике? Знаете, что вообще это слово означает?)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

arkhnchul писал(а):или трусы одень
трусы одеть невозможно, их можно надеть.
вы не задумываясь пишите противоречивые высказывания про трусы, и не видите противоречий в том, где их вижу я. это особенности восприятия: если по какой-то причине примут стандарт, в котором будет написано "небо зеленое" - вы станете просто пользоваться стандартом или все-таки увидите в нем противоречия?
arkhnchul писал(а):это тоже два разных числа
отлично. но почему они выводятся одинаково? когда я вывожу в поток РАЗНЫЕ числа, я ожидаю увидеть РАЗНОЕ их представление! тоже нет противоречия, скажете?
arkhnchul писал(а):в абсолютном большинстве случаев выводиться на экран для того
для чего выводится - не важно. важно, что я должен контролировать то, что выводится. и если поведение оператора вывода в поток противоречит предыдущму моему опыту, как программиста, я вижу тут явное нарушение логики.

я могу ошибаться, но << это всего лишь вывод в любой поток, в том числе и бинарный. и будет очень странно пользоваться им в этом случае, не догадываясь, как он там испортит выводимые данные...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

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

Сообщение arkhnchul »

[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]если по какой-то причине примут стандарт, в котором будет написано "небо зеленое" - вы станете просто пользоваться стандартом или все-таки увидите в нем противоречия?[/uquote]может, пусть сначала его примут?
[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]почему они выводятся одинаково?[/uquote]потому, что дефолтный формат вывода у cout (дадада, там есть форматы, как и в printf) действует именно так.
[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]когда я вывожу в поток РАЗНЫЕ числа, я ожидаю увидеть РАЗНОЕ их представление![/uquote]синтаксически вы выводите символ и целое число. Хотите разное представление - кастаните символ к числу или примените для него числовой формат. Такое поведение четко описано и не является сколь-нибудь неожиданным примерно ни для кого.
[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]для чего выводится - не важно. важно, что я должен контролировать то, что выводится.[/uquote]да, должны.
[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]и если поведение оператора вывода в поток противоречит предыдущму моему опыту, как программиста, я вижу тут явное нарушение логики.[/uquote]а я вижу синдром утенка и отсутствие опыта.
[uquote="ARV",url="/forum/viewtopic.php?p=3708241#p3708241"]я могу ошибаться, но << это всего лишь вывод в любой поток, в том числе и бинарный. и будет очень странно пользоваться им в этом случае, не догадываясь, как он там испортит выводимые данные...[/uquote]а документацию глянуть хоть одним глазком, чтобы не догадываться, а знать? Или не барское это дело? Это вот так, методом догадок вы 30 лет С "осваиваете"?)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

arkhnchul писал(а): 30 лет С "осваиваете"?
не, Си меньше :)
arkhnchul писал(а):а документацию глянуть хоть одним глазком, чтобы не догадываться, а знать?
если мне из-за противоречивости что-то не нравится, зачем мне изучать документацию?! я без этого не пользуюсь тем, что не нравится.
arkhnchul писал(а):синдром утенка и отсутствие опыта
на знаю, о каком утенке вы говорите, но отсутствие опыта не означает отсутствие логики. как, собственно, наличие опыта не доказывает наличие логики :)
arkhnchul писал(а):синтаксически вы выводите символ и целое число. Хотите разное представление - кастаните символ к числу или примените для него числовой формат.
я попробую еще раз воззвать к логике. вы только что сказали, что синтаксически я вывожу разные сущности. так ведь? но если я пожелаю, чтобы эти разные сущности при выводе выглядели тоже по-разному, я должен предпринять какие-то усилия. я верно вас понял?

я ведь вот как рассуждаю, найдите изъян в рассуждениях.
чтобы разное выглядело одинаково, надо маскировать различия, т.е. прилагать усилия - это естественно, не так ли?
но вот прилагать усилия, чтобы и без того разное выглядело по-разному - это нонсенс!
вам так не кажется? (знаю, что не кажется - это когнитивное искажение какое-то)
arkhnchul писал(а):может, пусть сначала его примут?
в нашей стране принято много законов, которые не только логике противоречат, но и некоторым законам природы! так что я вполне допускаю, что и такой стандарт принять могут - что вы будете делать-то тогда?! если логика вашего мышления несамостоятельна, а зависима от стандартов, и колеблется строго синхронно с колебаниями тех гуру, что стандарты принимает?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3708222#p3708222"]Точки останова - для слабаков![/uquote]
«Мыши плакали, кололись, но продолжали грызть кактус» )))
Eddy_Em писал(а):Да и как иначе отлаживать, скажем, тот же USB?
Я же написал:
ПростоНуб писал(а):завести пару статических переменных и точку останова на запись по их адресу
Eddy_Em писал(а):Зачем мне GUI, когда есть CLI?
А можно мне посмотреть видеозапись того, как Вы будете доказывать преимущества CLI жене/матери/бабушке, выкинув пульт от телевизора, но вручив ей клавиатуру и консоль для управления им? )))
Eddy_Em писал(а):OpenGL — на нем картинки и рисую.
А можно хотя бы один пример на шейдерах увидеть Вашей реализации?
Eddy_Em писал(а):Все равно на любом компьютере если не апач, так хотя бы nginx
Складывается ощущение, что Вы вообще не в теме того, о чем пишете.
Веб сервер, кроме аутентификации и шифрования, всего лишь обеспечивает связь между уровнями презентации и приложения. Уровень презентации выполняется в браузере клиента, и, в подавляющем большинстве случаев, пишется на JS. Так как непосредственно JavaScript предоставляет очень низкий уровень, то уровень презентации реализуют на каком-то фреймворке (Vue, TypeScript, Angular и т.п.). Уровень приложения, обычно, пишут на Java или C#, хотя использовать CGI на C/С++ никто не запрещает и до сих пор встречаются приложения на PHP и Perl. Так какой фреймворк и какой сервер приложений используете Вы? И почему это проще, чем за пять минут сделать GUI на Perl/Tk или за 10 минут - на QT?

Eddy_Em писал(а):Я никаких GDI знать не знаю!
GDI (Graphical Device Interface)/SDL (Simple DirectMedia Layer) - минимальный уровень на котором можно писать графические приложения. Непосредственно на шейдерах, как Вы, выписывают только уже сложные 3D манипуляции в играх и CAD системах. Кстати, тоже пользуясь соответствующими языками (OSL, GLSL и т.п.).
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

P.S. наверное, я не совсем прав, поскольку применяю Сишные знания к С++.
С++ - язык строгой типизации, и символ и число там не одно и то же, как в Си.
Но от привычек сложно избавиться - да и не вижу смысла.
зато вижу смысл прекратить дискуссию :)

Добавлено after 2 minutes 9 seconds:
ПростоНуб писал(а):А можно мне посмотреть видеозапись того, как Вы будете доказывать преимущества CLI жене/матери/бабушке, выкинув пульт от телевизора, но вручив ей клавиатуру и консоль для управления им? )))
ну-ну, вот только не передергивайте! пульт намного ближе к CLI, чем к GUI
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

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

Сообщение arkhnchul »

[uquote="ARV",url="/forum/viewtopic.php?p=3708265#p3708265"]я ведь вот как рассуждаю, найдите изъян в рассуждениях.
чтобы разное выглядело одинаково, надо маскировать различия, т.е. прилагать усилия - это естественно, не так ли?
но вот прилагать усилия, чтобы и без того разное выглядело по-разному - это нонсенс!
вам так не кажется? (знаю, что не кажется - это когнитивное искажение какое-то)[/uquote]логика такова: вы (программист) приложили усилия - подключив iostream и используя std::cout - чтобы эти вещи выглядели одинаково. Иначе, зачем вы это сделали? Или оно появилось в коде само собой, по волшебству?
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

[uquote="ARV",url="/forum/viewtopic.php?p=3708268#p3708268"]не передергивайте! пульт намного ближе к CLI, чем к GUI[/uquote]
Ну если у Вас до сих пор кинескопный телевизор, тогда возможно. Современные имеют полноценный GUI в котором чаще нажимаются стрелки и OK, чем цифровые кнопки. А вот вводить текст с пульта - удовольствие так себе. Стрелочками по букве выбирать меня раздражает.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

[uquote="ARV",url="/forum/viewtopic.php?p=3708265#p3708265"]я попробую еще раз воззвать к логике. вы только что сказали, что синтаксически я вывожу разные сущности. так ведь? но если я пожелаю, чтобы эти разные сущности при выводе выглядели тоже по-разному, я должен предпринять какие-то усилия. я верно вас понял?[/uquote]Если вы хотите увидеть символ не как символ, а как число, то должны сказать об этом компилятору (приложить усилия). А завтра не как число, а как указатель захотите, ну так просто скажите об этом компилятору. А по умолчанию он показывает объект таким какой он есть - в этом логика.

Добавлено after 4 minutes 47 seconds:
Работал как-то с одной конторой. У них программист блока управления радиолокатора тоже упертый поклонник CLI. Так они его с собой на все испытания в качестве GUI таскали. Наша команда вся под столом каталась как он с командной строки битиками ловко оперировал. А написал бы нормальный интерфейс, сидел бы на рабочем месте новыми разработками занимался. И сразу он мне кого-то напомнил :)
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

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

VladislavS, я тоже люблю командную строку, но не настолько, как Eddy_Em или ARV, чтобы регулировать громкость, яркость или скорость из командной строки терминала, а не ползунками или горячими клавишами )))
Ответить

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