@proembedded

Страница 349 из 975
LexsZero
16.06.2017
22:24:41
ну и компилятор умеет сам ворочать масками, а то и заюзать barrel shifter у арма. иногда получается читабельнее.

LexsZero
16.06.2017
22:31:31
а можешь показать пример, когда выгодно использовть именно структуру, так и не понял профита от них
например, мне попадалось объявление регистров периферии через структуры с битфилдами (типа SPI2->C1->SPE = 1) // но это вообще говоря компиляторозависимо и там был кастомный компилер который нужным образом эти битфилды раскладывал. иногда бывает удобно описывать какие-то форматы пакетов если на то как оно пакуется формально насрать. например, структура с пачкой флажков тупо передается через какой-нибудь IPC из одного процесса в другой, при этом оба процесса собраны одним компилером и юзают одно и то же определение структуры (например, один хедер либы)

ОлегЪ
16.06.2017
22:32:33
как то все сложно для меня, для мигалок на авр они походу не нужны

Google
Vika
17.06.2017
00:26:51
Ребята, приветствую! На интересный проект срочно нужен разработчик C++ с практическим опытом написания драйверов под PCI-E. Если есть знания Verilog - вообще замечательно. Заинтересованных прошу обращаться в ЛС с резюме (вакансий вообще несколько, большинство приватны - в паблике не найдете). ?

Vlad
17.06.2017
06:10:13
0 - ложь, все, что не ноль - истина, т.е. if(1) равнозначно if(255)
Вот это ОЧЕНЬ плохо. Потому что тогда сравнивать резульат двух функций нельзя. Одна возвращает труе как 10, а вторая как 11

Vlad
17.06.2017
06:21:08
if (tx_not_empty() == tx_ready()) { dddd; }

Если tx_not_empty() возращает 20 (например число символов в буфере) а tx_ready 1 или 0, то рабоать не будет

Th0r
17.06.2017
06:22:56
это уже не булеан же

вот так делай if (tx_not_empty() && tx_ready()) { dddd; }

Vlad
17.06.2017
06:23:24
Короче, того кто возвращет булевское значение не как true или false, бить плеткой по грязной попке.

вот так делай if (tx_not_empty() && tx_ready()) { dddd; }
не проснулся? разницы между выражениями не видишь?

Th0r
17.06.2017
06:25:12
не проснулся? разницы между выражениями не видишь?
разницы между цифрами и булеанами не видишь? оператор "==" для цифр и для булеанов может выполнять разные действия

Vlad
17.06.2017
06:26:43
еще раз в моем варианте dddd выполняется если результат функций одинаковый. Т.е. либо обе true, либо обе false. В предложенном тобой - только если обе true.

Th0r
17.06.2017
06:27:47
а, ок

Google
Vlad
17.06.2017
06:29:57
т.е. если в качестве значения true используется любое ненулевое значение, то тогда их нельзя сравнивать на равенство.

Th0r
17.06.2017
06:31:03
ну ты сам говоришь, > кто возвращет булевское значение не как true или false, бить плеткой по грязной попке. а сам "число символов в буфере" пытаешься использовать как булеан

Vlad
17.06.2017
06:33:12
Это не я. Это я предпологаемый сторонник такого представления boolеan

Th0r
17.06.2017
06:34:13
если функция будет возвращать булеан, то тогда там не будет числа символов

Богдан
17.06.2017
06:34:48
Я чет запамятовал, а си не умеет делать : |a Ну типа логическое или всех битов числа и результат один бит ?

А, не умеет - с верилогом попутал.

Vlad
17.06.2017
06:39:17
(a==0)?1:0

Богдан
17.06.2017
06:41:28
т.е. если в качестве значения true используется любое ненулевое значение, то тогда их нельзя сравнивать на равенство.
Но в целом можно же осуществить имитацию сравнения используя логические операторы, как Thor написал, только еще одно выражение добавить, чтобы учесть оба false

Vlad
17.06.2017
06:45:29
Можно все. Но задача писать предсказуемый код.

Th0r
17.06.2017
06:49:14
Можно все. Но задача писать предсказуемый код.
твой пример - это же не проблема булеанов, а проблема того что сравнивают числа в надежде что будет булеан

if ((tx_not_empty()==0)==(tx_ready()==0)) { dddd; }

вот так надо наверное

Vlad
17.06.2017
06:50:43
да, так можно.

Th0r
17.06.2017
06:51:20
^ тоже можно, но чота там запутано с ним в разных версиях, так что наверное лучше не рисковать

Vlad
17.06.2017
06:52:12
Там просто выше товарищь писал "да вот сам не пойму, зачем народу булево так надо, всеравно в памяти 1 байт занимает, а с числами вместо булевых даже удобней" и "0 - ложь, все, что не ноль - истина, т.е."

Я против его утверждений, т.к. это приводит к ошибкам

Roman
17.06.2017
07:01:16
if ((tx_not_empty()==0)==(tx_ready()==0)) { dddd; }
Уж лучше (bool) tx_not_empty() == (bool) tx_ready().

Varkus
17.06.2017
07:03:04
if ((tx_not_empty()==0)==(tx_ready()==0)) { dddd; }
Уж не помню подробностей, но в С++ есть "приведение к типу", т.е.: if((bool) a && (bool) b) кажется так

Чхогг
17.06.2017
07:05:59
Есть же битовые поля. unsigned bValue:1; внутри структуры даст вам желаемый однобитовый boolean

Google
Varkus
17.06.2017
07:23:35
Интересно, а в плюсах есть аналог var_dump() из рнр?

Vlad
17.06.2017
07:53:59
Интересно, а в плюсах есть аналог var_dump() из рнр?
Наверное, что-то можно сделать своё на rtti

Roman
17.06.2017
08:07:38
Наверное, что-то можно сделать своё на rtti
Тут не RTTI нужен, а интроспекция/рефлексия, с которой в CPP сейчас всё не очень хорошо (в смысле, что её нет). Универсальное решение аналогичное var_dump только лишь средствами языка создать невозможно.

Vlad
17.06.2017
08:11:25
Ещё удобный вариант - protobuff. Структуры описывать в proto файлах. Как бонус - возможность их печатать

Roman
17.06.2017
08:16:55
Ещё есть вот такая штука: http://kaitai.io/ . Ещё можно парсить хедеры с помощью castxml (ex. gccxml) и генерировать сериализаторы/десериализаторы любой сложности.

Kirill
17.06.2017
08:25:52
Люди задумывались о битовых булях, vector<bool> как раз побитово були хранит, но в реальности это породило тонну геморроя работы со стандартными алгоритмами и через итераторы, собственно из чего все говорят его не использовать

По поводу проверки, буль и так делает каст к инту, если там true то инт будет 1. При этом в буле может быть 122, это же не 0 и это тоже true. Если делать каст к инту все равно будет 1, такой вот стандарт

Vlad
17.06.2017
13:21:42
за последнее время дважды написал аналогичное :)

Кстати, господа, никто не знает где добыть держатели для элементов 21700? (21 мм диаметр, 7 см длинна)

Надо собрать батарею из 12-24 элементов.

Denis
17.06.2017
14:28:44
Господа, а ни у кого в спб нет в аренду на недельку фмтрансмиттера?.....

redbeard
17.06.2017
16:57:31
или посадить на китайские термосопли?

Vlad
17.06.2017
17:51:19
Контакты еще нужны.

Varkus
17.06.2017
18:02:28
Тогда точно принтер

First
17.06.2017
20:26:58
@lady_noname spam

Cate
17.06.2017
20:38:34
@lady_noname spam
Спасибо

Google
Cate
17.06.2017
20:38:52
Хотя может и по теме было

Seraphic
17.06.2017
20:39:53
А кто может помочь зеленому: вот есть малина. На ней есть разъем для подключения камеры. Реально ли вместо камеры подключить видеовыход другого устройства и смотреть, что оно отображает?

Varkus
17.06.2017
23:05:08
Только если оно имеет такой же интерфейс и протокол, как камера.

LexsZero
17.06.2017
23:12:32
а если нет, то есть всяческие микрухи-конвертеры

но придется изрядно поебаться с драйверами, скорее всего

LexsZero
17.06.2017
23:16:01
нене

мы для виртурилки делали конвертер с хдми на параллельный интерфейс, одна микруха специализированная, вроде довольно дешевая

Varkus
17.06.2017
23:17:56
Ну так это 90% уже готовая. А ТС не озвучил, что за интерфейс у его видеоустройства.

LexsZero
17.06.2017
23:19:32
аналоговые тоже дешевые есть, под композит TVP5150 например

Mikhail
18.06.2017
07:27:13
Извиняюсь за глупый вопрос, а возможно ли переделать, хотя бы теоретически, hdmi-выход ноутбука во вход? И если да - то что для этого требуется: драйвер переписать или видеочип перепаивать?

Ask
18.06.2017
08:30:20
Чем лак с катушечных проводов снимается быстро?

Petr
18.06.2017
08:30:38
есть спец флюс вроде

Kirill
18.06.2017
08:33:16
Мы делали так, ножиком скряб скряб, паялом 400 градусов пыщ пыщ, потом можно лудить

Хокейний
18.06.2017
08:42:29
есть спец флюс вроде
Аспирин, только при работе нужна вытяжка

Dmitry
18.06.2017
08:57:20
Нет.
можно микросхему драйвера сдуть и на 180° перевернуть

Varkus
18.06.2017
09:17:54
Тогда и разъём hdmi нужно перевернуть вверх ногами, при повороте микрухи будет смена полярности питания.

Denis
18.06.2017
09:18:55
А после этого еще и дрова учить работать наоборот...

Google
Varkus
18.06.2017
09:30:45
А после этого еще и дрова учить работать наоборот...
Да не, достаточно будет битовой инверсии

Loko
18.06.2017
10:25:21


https://www.mixcloud.com/perezbroschicago/perez/

LexsZero
18.06.2017
10:26:03
youtube-dl

но с миксклауда обычно вытащить получается только в говнокачестве, лучше где-то еще поискать

Loko
18.06.2017
10:29:45
не нашел нигде

LexsZero
18.06.2017
10:32:32
чо за "нигде"? в репозиториях есть

а, тьфу, сам трек. ну бывает.

Loko
18.06.2017
10:33:20
не получается вытащить в любом качестве

https://audio1.mixcloud.com/hls/6/c/d/d/0cef-98c0-4907-8fbb-e486f005fb7c.m4a/index.m3u8

как поток выдает почему то

~hummingbirdwhocode
18.06.2017
10:36:41
Оно отдавало по 7-13% за раз, а потом умирало. Благо, youtube-dl умеет докачивать.

LexsZero
18.06.2017
10:37:18
оно не умирает, миксклауд просто шейпит

Страница 349 из 975