
Dolphin
22.05.2017
18:35:03

Влад
22.05.2017
18:57:40
а расскажите, как сравнить приходящий unsigned char uart_char с символом в коде?
uart_char == 116 работает, но я хочу что-то вроде uart_char == "с"

Maxim
22.05.2017
18:58:05
'c'

Google

Влад
22.05.2017
18:58:53
а, он просто при компиляции в числовое представление переводит?

Maxim
22.05.2017
18:59:05
Да

Влад
22.05.2017
18:59:23
спасибо)

Matthew
22.05.2017
19:09:35
Почаны, 3д принтерщиков тред. Где чувак, которому flsun пришёл?
Забыл его ник(

Th0r
22.05.2017
19:12:30
@Dr_Zlo13 твоё?

Dr
22.05.2017
19:14:39

Artyom
22.05.2017
19:17:21
if (c=++a+b) {c=1«5;}

Dolphin
22.05.2017
19:20:31

Artyom
22.05.2017
19:22:11

Dolphin
22.05.2017
19:23:01
Undefined behavior

Artyom
22.05.2017
19:23:36
?

LexsZero
22.05.2017
19:38:07
где ж тут уб

Google

Dolphin
22.05.2017
19:39:10
где ж тут уб
инкремент отработает до точки следования или после?
От компилятора зависит :)
GCC пре-инкрементирует до сравнения

LexsZero
22.05.2017
19:42:55
https://stackoverflow.com/questions/14005508/so-why-is-i-i-1-well-defined-in-c11 грят что в 11х плюсах вполне дефайнед :]

Dolphin
22.05.2017
19:43:40

Artyom
22.05.2017
19:44:14
а кто про плюсы говорил?
?

LexsZero
22.05.2017
19:46:17
лан, уговорил

Dolphin
22.05.2017
19:46:39
мне вот тоже непонятно, почему УБ, если вполне четко описан преинкремент
и даже в случае с постинкрементом c==a+++b все должно стоять на своих местах, если нет скобок ))

LexsZero
22.05.2017
19:48:29
потому что у преинкремента и бинарного сложения одинаковый приоритет, а порядок вычисления слева-направо в стандарте не указан
а, хм, не.

Dolphin
22.05.2017
19:48:58
ну вот в том то и дело
порядок = рамки
из которых трудно вылезти в случае с MPI

Maxim
22.05.2017
19:50:26
М.б. я чего-то не понимаю в си, но где тут должен быть UB? Если значение a используется только в одном месте, какая разница, где оно будет инкрементироваться? Все равно на поведение программы не повлияет

Dolphin
22.05.2017
19:52:23

Maxim
22.05.2017
19:52:56
Странно, что вариант номер 2 вообще допустим
Но если он реально может случиться - то да, UB. Просто я об этом не знал

Google

Maxim
22.05.2017
19:53:58
(а еще там присваивание, а не сравнение, но тут это не влияет)

Dolphin
22.05.2017
19:54:17
ну это просто ошибка
Влияет!
если там присваивание, то условие выполнится в любом случае, при результате отличном от нуля

Maxim
22.05.2017
19:55:27
Не, это на результат влияет, а не на порядок операторов

Dolphin
22.05.2017
19:55:35
a=b=c=0;
так можно же писать?

Maxim
22.05.2017
19:55:49
Да
Я знаю, что присваивание - это значение
Я имел в виду, что на выбор вот тех двух (а то и не двух) альтернатив не влияет

Dolphin
22.05.2017
19:56:27
значит условие будет выглядеть как:
if (++a+b) ()

Maxim
22.05.2017
19:57:33
Но вообще — почему компилятор может выбрать второй вариант, если прединкремент - это сначала инкрементнуть, а потом использовать значение?

Dolphin
22.05.2017
19:57:59
а от реализации компилятора зависит типа
стандартизация не сразу шла, а поэтапно :)

Maxim
22.05.2017
19:58:53
Я понимаю. Хорошо, уточню вопрос - почему второй вариант является корректной трансляцией вот этой строки, с учетом требований на прединкремент?

Dolphin
22.05.2017
19:59:21
Требований нет никаких

Maxim
22.05.2017
20:00:15
А, почитал, как они определяются
Т.е. если бы там был постинкремент - UB бы не было?

Dolphin
22.05.2017
20:02:21
вот смотри вариант:
((a=(a+1)%6)==0) ? b=1 : b=1«a;

Google

Dolphin
22.05.2017
20:02:40
Корректна запись, или УБ?
архитектура 8 бит если че ))

Maxim
22.05.2017
20:04:00
Я даже уже хз в свете всего этого :D Скорее всего, УБ

Dolphin
22.05.2017
20:04:15
вопще-то нет )
А вот УБ:
((a=(a+1)%9)==0) ? b=1 : b=1«a;

Maxim
22.05.2017
20:05:36
Понятно, в тернарном операторе располагается точка следования

Dolphin
22.05.2017
20:06:40
да не, сдвиг же выполняется на число бит, больше размерности архитектуры
там от камня зависит, что он выкинет )
Вот еще:
((a=a%6)==0) ? b=1 : b=1« a++;

Admin
ERROR: S client not available

Dolphin
22.05.2017
20:10:19
gcc такое ест, но лучше так не писать )

Maxim
22.05.2017
20:10:44
Вот только хотел об этом написать :D Что чтобы не возникало таких вопросов при чтении - не надо так писать

LexsZero
22.05.2017
20:10:49
ээ, а тут-то что? ветки бранчей все равно вычисляются после условия

Dolphin
22.05.2017
20:14:48

LexsZero
22.05.2017
20:15:10
ну а нахер остальную херню писать

Dmitry
22.05.2017
20:15:16
купил рулетку с BT
какие же странные там приложения.
а скетчап и не поюзаешь на телефоне…

Dolphin
22.05.2017
20:15:41
Я просто не вкурсе, но андройды вроде же в теме были

Dmitry
22.05.2017
20:16:56
там только вьювер

Google

Dmitry
22.05.2017
20:17:08
можно, конечно через RDP, но…

Dolphin
22.05.2017
20:17:08
а ясно

Bastad
22.05.2017
20:25:56
#яжговворил

Dr
22.05.2017
20:30:34

Dmitry
22.05.2017
20:36:44
босх!
в целом, даже тем кривым софтом можно пользоваться.
но всё равно как-то странно это

Igor
22.05.2017
21:26:39
все, пизда, поплыло по интернетам
https://www.facebook.com/hacksterio/posts/1271488766282112

Dmitry
22.05.2017
21:31:35
славу, укг`али славу!

Igor
22.05.2017
21:32:34
эй, ну не
в оригинале уже пофиксили

Dmitry
22.05.2017
21:35:41
кого теперь волнует, что в оригинале стало…

Igor
22.05.2017
21:36:36
#ЗавтраНаАлиЭкспресс

Dr
22.05.2017
22:03:43
@enomad https://youtu.be/DN7vu1WMtUQ
какова хуя он такую длинную резьбу на оправке делает?
он что, ебанутый?

Bastad
22.05.2017
22:12:51
Трд, на подшипнике, самодельном.
Ок

Stanislav
22.05.2017
22:12:59

Bastad
22.05.2017
22:13:40
Обоссы его

Dr
22.05.2017
22:13:45