- По поводу C++ и порога вхождения для обезьянок. misyachniy(592 знак., 06.01.2022 10:00, dao, картинка, полностью)
- Этот код похож на MFC. Там модель Document-View. Данные и
переменные должны храниться в классе производном от CDoc. Там есть
хитрый макрос, который через DDE прикручивает эту переменную к
контролу из CView. Этот же макрос умеет вводимые значения в
контроле преобразовывать в числа/строки/др. И фильтровать
допустимые значения. В вашем коде что-то хитрое с фазой от -360 до
+360 и вместо MFC фильтра используют свой. Неаккуратно с именами
переменных поступили, но рабочий Costic(115 знак., 06.01.2022 13:43)
- Как нихуя не знать и каждый раз удивляться. Полный name это
namespace + classtype + varname. В ООП разные классы могут и иногда
должны иметь одинаковые имена членов. В разных неймспейсах классы
могут иметь одинаковые имена, прикинь какое чудо из чудес? Остается
охуевать, причем тут c++20? - OбaHa(06.01.2022 13:07)
- классах? вижу только в трех файлах cheblin(40 знак., 06.01.2022 13:00)
- Легко, мой хороший! Модули в С++20. Там такой дичи не будет.
Непонятно, кстати, почему линкер не ругался. - VladislavS.(06.01.2022 10:30)
- Это называется пространство имён, бороться с этим поможет
нормальная ide. Так как ide понимает код, она выделит места,
использующие конкретную функцию или переменную. - evgeniy1294(06.01.2022 10:23)
- Это называется плодить сущности без надобности. - misyachniy(06.01.2022 10:26)
- Это называется "старый дед-ассемблерщик". Помогает только выход на
пенсию. - evgeniy1294(06.01.2022 12:04)
- Это и есть самоубившаяся обезьянка не соизволившая изучить даже
азов программирования. До шаблонной лямбды с вариативными
автоматическими нетипизированными параметрами она не доскачет. - VladislavS.(06.01.2022 11:42)
- А что здесь не так? Ну кроме того, что сдвиг фазы - это phase
shift? Ну и того, что мисичный вместо поиска переменной ищёт просто
текст по всему проекту? - evgeniy1294(06.01.2022 12:09)
- Если это должна быть одна глобальная переменная, то в заголовочном
файле она inline должна быть объявлена. Если же разные, то должны
быть спрятаны внутри единицы трансляции под нэймспейс или хотя бы
разные имена иметь. Посмотрите на тытрубе видео Михаила Морозова
"Спецификаторы, квалификаторы и шаблоны". У С++ программиста это
всё должно на подкорке быть. - VladislavS.(06.01.2022 12:25)
- Может быть Матросов? Спасибо за наводку
слушаю и охуеваю - Cкpипaч(06.01.2022 14:34)
- Это поиск по тексту, она в классе лежит(( Там несколько переменных
с одним именем в разных классах. evgeniy1294(356 знак., 06.01.2022 12:30)
- Сделает. Inline подставт неявный weak и при линковке будет одна
сущность для всех единиц трансляции. - VladislavS.(06.01.2022 12:36)
- Я конечно путаюсь в "Спецификаторах, квалификаторах и шаблонах". misyachniy(159 знак., 06.01.2022 12:35)
- Болбшая ошибка оценивать С++ код в базисе обычного С. Это разные
языки. А видео Михаила Морозова рекомендую всё же посмотреть. Кроме
того что материал полезный, он ещё интересный собеседник. Получите
просто удовольствие от подачи материала. У него ещё есть видео про
то как константы в С++ определять. Тоже неплохо. И всё это
работает, так как стандарт языка. - VladislavS.(06.01.2022 13:00)
- Активно используете extern? - evgeniy1294(06.01.2022 12:36)
- А что ему в С ещё остаётся? - VladislavS.(06.01.2022 13:01)
- Да. - misyachniy(06.01.2022 12:53)
- В этом году я обещал быть культурным и вежливым, поэтому просто
скажу следующее: единственное место, в котором допускаются
переменные, помеченные extern - startup, потому как нет другого
способа получить переменные, размещаемые линкером. В остальных
случаях слудет этого избегать. - evgeniy1294(06.01.2022 13:03)
- Чем предлагаете заменить extern? Вероятно чем-то типа AlexBi(226 знак., 07.01.2022 13:14)
- С точки зрения компилятора и компьютера - нет разницы. Объявления
внутри класса/структуры чуть медленнее, т.к. при доступе будет
вычисляться адрес/смешение переменной внутри структуры (компилятор
это легко оптимизирует, а процессор закеширует). Тут вопрос в
другом - в проектировании и стиле написания программы. Текст
программы не только для компилятора, но и для программистов в
большей степени. Ваш код допустим, но не рекомендуется к
применению, т.к. лучше public для данных Costic(769 знак., 07.01.2022 14:46)
- В голом C это делается через функции get/set, в С++ способов
гораздо больше. Приведенный вами пример тоже используется, когда
переменные принадлежат определенному контексту, lwip целиком на
этом. Подразумевается, что количество глобальных переменных
небольшое, например счетчик системного таймера. Большое количество
глобальных перменных без явной на то необходимости, а также
активное использование extern говорит о низкой квалификации
программиста. evgeniy1294(287 знак., 07.01.2022 13:54)
- Ща все брошу и начну перед пенсией перестраивать свое мЫшление. ;-) - misyachniy(06.01.2022 13:16)
- Тестирование разных Linux на Xeon Scalable "Ice Lake".
Полуторакратное превосходство над Ubuntu впечатляет. Evgeny_CD(1 знак., 06.01.2022 20:19, dao, ссылка, полностью)
- Хабр. Антивирус Norton 360 включил майнер по умолчанию. Шикарно! Evgeny_CD(1 знак., 06.01.2022 22:55, dao, ссылка)
- Хабр. Специфика написания кода для ОС Evgeny_CD(1 знак., 06.01.2022 22:53, dao, ссылка)
- Шикарная обзорная статья C++ at the end of 2021 Evgeny_CD(1 знак., 01.01.2022 21:26, dao, ссылка, полностью)
- Удручает отсутствие даже намёка на поддержку С++20 в IAR и ARM
Compiler. - VladislavS.(01.01.2022 22:26)
- Keil использует clang, по крайней мере под ARM, в нём все фичи
работать будут. Что касается IAR - за десять лет работы так и не
понял, зачем он нужен. На пару процентов быстрее - это конечно
здорово, но чащё всего с этим можно смирится. - evgeniy1294(04.01.2022 12:37)
- Вот когда БУДЕТ поддерживать, тогда и будем обсуждать. А пока С++20
для кортексов это только GCC. IAR это не только крутой компилятор.
Вроде смотришь листинги - ничего особенного, но работает код
быстрее. Я думаю, он учитывает особенности исполнения кода разными
ядрами (конвейеры, кэши, предвыборки и т.д.), иначе трудно
объяснить почему код выполняется быстрее. GCC делает код добротный,
агрессивно оптимизированный, но по какому-то клише, которое в целом
чуть медленнее. На VladislavS.(2480 знак., 05.01.2022 02:46)
- Предлагаю обсудить тезисно: evgeniy1294(2071 знак., 06.01.2022 01:12)
- Всё верно пишете, даже и обсуждать нечего, всё уже пережевано в
сообществах. Понятно, что не всё применимо в эмбедде, но это так
всегда в плюсах было. У меня, в проектах, например, куча равна
нулю. Ну дальше понимаете. - VladislavS.(06.01.2022 09:31)
- * Вроде смотришь листинги - ничего особенного, но работает код
быстрее. Тут вопрос, на сколько? Если 15-20%, может быть полезно, 5-10% -
хер с ним. evgeniy1294(1685 знак., 06.01.2022 02:19)
- Забыл один важный момент, возможно самый важный. В keil и iar нет
(по крайней мере небыло ещё год назад) вменяемого рефакторинга,
т.е. именно как ide они... ну, не очень. А это важнейший компонент,
значительно облегчающий жизнь, просто embedded-проекты небольшие,
не так заметно. evgeniy1294(158 знак., 04.01.2022 22:46)
- Странно это слышать от человека, пользующегося "отладкой во тьме".
Мне лично рафакторинг по барабану - есть хорошо, нет ну х... с ним.
Так же как и автодополнения - бороться с неверными дополнениями
психологически сложнее, чем руками ввести. Понятно, что тут всё на
чистом IMHO, но как то так. Вот анализ кода это гуд. Когда IDE
говорит тебе "мальчик, ты совсем куку?", то ты либо соглашаешься
(ибо кто не без ошибок), либо осознанно идёшь на компромис в угоду
эмбедду, но видишь VladislavS.(101 знак., 05.01.2022 02:38)
- Выкатываем ящик коньяка Мастеру Klen'у - и будет у нас кошерный GCC
с LTO, бл. и шлюхами. Думаю, он даже парочку видеоуроков по отладке
выпустит. - Evgeny_CD(01.01.2022 22:53 - 23:37)
- Гении из M$ изобрели проблему 2022 года. Evgeny_CD(1 знак., 04.01.2022 00:04, dao, ссылка, полностью)
- makesure — make с человеческим лицом Evgeny_CD(1 знак., 03.01.2022 23:55, dao, ссылка, полностью)
- Хорошая обзорная статья про технологии ТВ. Деградация телевизоров:
почему вымерли 3D, Curved и плазма Evgeny_CD(1 знак., 04.01.2022 00:02, dao, ссылка)
- Кто-нить чикал в В11 или В10 шпиенов? Как быстро засераются вновь
журналы? Solo(1 знак., 03.01.2022 13:43, dao, ссылка, полностью)
- Simplify template code with fewer typename in C++20 Evgeny_CD(1 знак., 03.01.2022 18:26, dao, ссылка)
- Одно движение и ты ... HPE случайно удалила 77 Тбайт данных с
суперкомпьютера университета Киото Evgeny_CD(1 знак., 01.01.2022 21:28, dao, ссылка, полностью)
- Сбер и Эльбрус. Как оно было. mse homjak(1 знак., 01.01.2022 13:57, dao, youtube)
- !!! VIA объявила, что продаст корпорации Intel свое подразделение
x86 Evgeny_CD(1 знак., 09.11.2021 00:25, dao, ссылка, полностью)
- Теперь-то уж Intel победит AMD! :) Кстати, если Intel купила
тайваньскую VIA, то почему бы всей Америке не купить TSMC? - Kceния(31.12.2021 14:45)
- Кто же им продаст? Они перенесут производство к себе и через
несколько лет Тайвань станет не нужен. На это пойтить гоминдановцы
не могут. - LightElf(31.12.2021 15:47)
- Гоминьдан уже не при делах - AlexG(31.12.2021 16:54)
- В самом деле: если TSMC не сама оборудование производила, а купила
его на стороне, то почему бы американцам (и прочим богатым странам)
ни купить себе то же самое и в том же месте (ASML). А европейцам и
сам Бог велел, т.к. ASML - голландская компания. В смысле из
бюджета добавить, если для одной компании окажется слишком дорого в
обмен за ее акции. - Kceния(31.12.2021 15:59)
- "ASML - голландская компания" - На хабре толи статья, толи комменты
были, что не все так просто. Фактически ASML это площадка, где
конкуренты из интеля и амд и еще кого-то могут вместе разрабатывать
суперуникальное оборудование без патентных войн. И именно поэтому
штатовское правительство спокойно рулит, кому поставлять, и поэтому
фиг кто их догонит в ближайшее время. - Andreas(31.12.2021 17:07)
- P.S. Впрочем, сильно подозреваю, что TSMC и так уже принадлежит
американцам, а находится на Тайване только затем, чтобы налогов не
платить (или платить меньше) с баснословных прибылей. - Kceния(31.12.2021 17:05)
- Откатываем глобализацию назад? Многие про это говорят, называют
разные причины, но итог один. Как будто сговорились. - SciFi(31.12.2021 16:32)
- Нельзя, ограничения у всех стран есть, на продажу - покупку
высокотехнологичных производств. ВТО там лесом идет! - Visitor(31.12.2021 15:16)
- и это хорошо, но не долго. ибо все большое появляется прямо перед
большим пиздецом. LordN(7 знак., 31.12.2021 07:46)
- Помнится меня стебали, когда я говорил про монополизацию в
микроэлектронике. Может сейчас, после череды всех этих поглощений
опять есть желание постебать? Или может есть примеры успешных новых
стартапов, способных конкурировать с этими монстрами? - Codavr(31.12.2021 01:46)
- Прогресс налицо. Продаем столы и стулья. В описании лота говорится,
что компания предлагает «20 000 квадратных футов лабораторных
площадей, на которых расположено более 1200 компьютерных тестовых
станций и тысячи компонентов, а также серверы, электронное тестовое
и измерительное оборудование, суперкомпьютер Cadence, микроскопы,
камеры для прожига, зонды для проверки пластин, сопутствующее
оборудование и многое другое». Evgeny_CD(1 знак., 31.12.2021 01:39, ссылка)
- Гайд по запуску
свечного заводика мелкосерийного производства электроники bodis(1 знак., 31.12.2021 17:54, dao, ссылка, полностью)Evgeny_CD
- [FastMM5 - хороший аллокатор]? Менеджер памяти. В новости про то, что Dev-C++ еще жив, ->,
нашлось это чудо -->. Fast replacement memory manager for
Embarcadero Delphi applications that scales well across multiple
threads and CPU cores, is not prone to memory fragmentation, and
supports shared memory without the use of external .DLL files.
Файлик там, правда, на 10355 lines (8894 sloc) 398 KB одним файлом. Это из учебника как не надо писать ПО? Чую Evgeny_CD(263 знак., 29.12.2021 23:01, dao, ссылка, ссылка, полностью)