-
- Си, с плюсами или без оных, это всего лишь Bill(326 знак., 05.10.2010 08:52 - 09:09)
- 1)При работе в команде надо работать на том, на чем и вся команда. Т.е. выбор делают за тебя 2)Пока сам не узнаешь, что позволяет тот или иной инструмент, не сможешь и захотеть его. Т.е. надо знать, что бы не вылететь из п.1 - AlexBi(05.10.2010 09:00)
- Команда есть команда. Этим все сказано. - Bill(05.10.2010 09:10)
- Не соглашусь. Иногда человеку надо хотя бы рассказать о существовании нового инструмента. И за такие рассказы Evgeny_CD отдельное спасибо. - vmp(05.10.2010 08:57)
- Ну, сам по себе инструмент этот далеко не новый. О Си++ я знаю уже лет 20, и книги читал, и C++ Builder периодически пользуюсь, а вот Bill(158 знак., 05.10.2010 09:17)
- 1)При работе в команде надо работать на том, на чем и вся команда. Т.е. выбор делают за тебя 2)Пока сам не узнаешь, что позволяет тот или иной инструмент, не сможешь и захотеть его. Т.е. надо знать, что бы не вылететь из п.1 - AlexBi(05.10.2010 09:00)
- Заметил что в большинстве холиваров C vs. C++ устойчиво появляется мнение что в плюсах много "тяжелых" наворотов, которые только загружают МК. Все же разумное использование некоторых фич плюсов позволяют получить преимущество в виде облегчения Snaky(688 знак., 04.10.2010 03:54 - 03:57)
- В Embedded C++ -> забанены: Evgeny_CD(246 знак., 04.10.2010 12:20, ссылка)
- ну ладно понимаю опасные вещи отгородили, но namespaces чем не угодили? - Snaky(04.10.2010 13:35)
- Ну так ЕС++ поэтому и не пользуют :). Правильный ответ ЕЕС++. Там список в половину короче. - ig_z(04.10.2010 12:52)
- Вот она, сама суть ++! EC++, EEC++... ECC++, EECC++ ....тьфу... - Evgeny_CD(04.10.2010 12:55)
- Ну да, самое вкусное забанили :-)), но это уже не актуально, все держат полноценные плюсы :-) - =AlexD=(04.10.2010 12:37)
- Страуструп уже на C++0x перешёл и на C++1x зазывает. - Рэйлвэй Каген(04.10.2010 12:50, ссылка, ссылка)
- Да, помнится указатель на константную функцию мы уже обсуждали :) - Evgeny_CD(04.10.2010 12:54)
- Новая трава ещё круче :) - Рэйлвэй Каген(04.10.2010 13:24)
- Видимо, константный указатель на константную функцию :) - Evgeny_CD(04.10.2010 13:30)
- Шутки - шутками, но число компиляторостроителей должно резко уменьшиться. - Рэйлвэй Каген(04.10.2010 13:42)
- Видимо, константный указатель на константную функцию :) - Evgeny_CD(04.10.2010 13:30)
- Новая трава ещё круче :) - Рэйлвэй Каген(04.10.2010 13:24)
- Да, помнится указатель на константную функцию мы уже обсуждали :) - Evgeny_CD(04.10.2010 12:54)
- Страуструп уже на C++0x перешёл и на C++1x зазывает. - Рэйлвэй Каген(04.10.2010 12:50, ссылка, ссылка)
- Переводите точнее. Про шаблоны написано, что оверхед может быть большим, маленьким, либо его может не быть вовсе - "the cost also varies. Templates can be FREE, CHEAP, or EXPENSIVE". - amusin(04.10.2010 08:15)
- да, вы правы :> я только conclusion процитировал и присоединил весь текст для интересующихся - Snaky(04.10.2010 08:18)
- scmRTOS - хорошая иллюстрация разумного применения возможностей C++ с толковыми объяснениями. Несколько лет назад немного "пошаблонил" в ее коде :-) - amusin(04.10.2010 08:25, ссылка)
- спасибо за ссылку. помню скачивал эту RTOS несколько раз, но так ни разу руки и не дошли попробовать :> она еще развивается? - Snaky(04.10.2010 08:34)
- Я применил ее один раз, тогда еще версию 2.х. С тех пор выпущена 3.х. Честно, не следил за отличиями. Развивается в плане выпуска новых портов. amusin(139 знак., 04.10.2010 08:43, ссылка, ссылка)
- ага, поглядел. знакомые все лица (в гугл-группе) :> эмбеддеров в рунете выходит не так уж и много - на мегаэмбеддевку "всея СНГ" всего-то uint8_t N ящиков коньяка хватит... - Snaky(04.10.2010 09:00)
- Не все, особенно из молодежи, активно шарятся в инете. - Vladimir Ljaschko(04.10.2010 11:02)
- молодежь и пивом с сухариками перебьется :> - Snaky(04.10.2010 13:32)
- Не все, особенно из молодежи, активно шарятся в инете. - Vladimir Ljaschko(04.10.2010 11:02)
- ага, поглядел. знакомые все лица (в гугл-группе) :> эмбеддеров в рунете выходит не так уж и много - на мегаэмбеддевку "всея СНГ" всего-то uint8_t N ящиков коньяка хватит... - Snaky(04.10.2010 09:00)
- Я применил ее один раз, тогда еще версию 2.х. С тех пор выпущена 3.х. Честно, не следил за отличиями. Развивается в плане выпуска новых портов. amusin(139 знак., 04.10.2010 08:43, ссылка, ссылка)
- спасибо за ссылку. помню скачивал эту RTOS несколько раз, но так ни разу руки и не дошли попробовать :> она еще развивается? - Snaky(04.10.2010 08:34)
- scmRTOS - хорошая иллюстрация разумного применения возможностей C++ с толковыми объяснениями. Несколько лет назад немного "пошаблонил" в ее коде :-) - amusin(04.10.2010 08:25, ссылка)
- да, вы правы :> я только conclusion процитировал и присоединил весь текст для интересующихся - Snaky(04.10.2010 08:18)
- Если брать абсолютно одинаковую функциональность, то С++ не несёт вообще никакого оверхеда. =AlexD=(668 знак., 04.10.2010 07:56)
- это понятно. речь была о том что некоторые вещи, не добавляющие в конечном итоге функциональности изделию (и не несущие оверхеда), все же облегчают написание и поддержку программ, делая их более логически структурированными, чтоли... В связи с Snaky(194 знак., 04.10.2010 08:08 - 08:12)
- С точки зрения разработчика-одиночки, Вы абсолютно правы. С точки зрения менеджера проекта, на С++ заметно труднее обеспечить единый стиль нескольких разработчиков (особенно когда большая их часть - студенты с горящими глазами :) Затраты на Скрипач(334 знак., 04.10.2010 09:53)
- Ерунда полная. А АСМ и Си значит изучения не требуют и единство стиля не нужно? Больше того скажу, такого разнобоя стилей как на Си в С++ ещё поискать нужно. И понятно почему. =AlexD=(254 знак., 04.10.2010 10:13)
- Булева логика не применима. Есть больше-меньше и есть заметно больше с намного меньше :) У меня есть практика. Я основываюсь на ней, а не на "умозрительной очевидности" :) - Скрипач(04.10.2010 10:19)
- Где вы откопали у меня булеву логику? Я лишь говорю, что в Сях единство стиля реализации алгоритмов вы просто даже не пытаетесь обеспечить, иначе ваша практика была-бы другой. Вам пришлось бы вручную, средствами Си и внутрифирменными =AlexD=(126 знак., 04.10.2010 10:30)
- "Не пытайтесь"? Да сделано уже :) Скрипач(617 знак., 04.10.2010 10:42)
- По п.2 - пусть он попробует по максимуму, какие проблемы? Главное, в листинг посматривать. amusin(137 знак., 04.10.2010 11:17)
- Проблемы какие? Проблемы серьезные. Неспособность алгоритмизировать элементарные задачи. Попытка мыслить самостоятельно тонет в суб-сознательном итеративно-рекурсивном вербально выраженном погружении в терминологию объектно-ориентированного Скрипач(38 знак., 04.10.2010 20:12)
- "Неспособность алгоритмизировать элементарные задачи" - С++, да и любой другой язык, тут не причем. - amusin(05.10.2010 08:18)
- Предлагаю обсуждение закрыть.:-) - amusin(05.10.2010 08:21)
- Пора видимо кому-то написать статью "С++ без С++" :-))) - =AlexD=(04.10.2010 21:03)
- :^) А если серьезно, иногда тоскую по МОДУЛА-2 (я на ней учился). Выше, в этом топике, Евгений нарыл некий стандарт, ЕС++ Вроде как МОДУЛА-2. Только на С++ :) - Скрипач(04.10.2010 21:14)
- Не я нарыл. Его кто-то привел в предыдущих топиках по С++. - Evgeny_CD(04.10.2010 21:18)
- :^) А если серьезно, иногда тоскую по МОДУЛА-2 (я на ней учился). Выше, в этом топике, Евгений нарыл некий стандарт, ЕС++ Вроде как МОДУЛА-2. Только на С++ :) - Скрипач(04.10.2010 21:14)
- "Неспособность алгоритмизировать элементарные задачи" - С++, да и любой другой язык, тут не причем. - amusin(05.10.2010 08:18)
- Проблемы какие? Проблемы серьезные. Неспособность алгоритмизировать элементарные задачи. Попытка мыслить самостоятельно тонет в суб-сознательном итеративно-рекурсивном вербально выраженном погружении в терминологию объектно-ориентированного Скрипач(38 знак., 04.10.2010 20:12)
- +1. Сторонники Си++ обычно игнорируют сложность изучения Си++ по сравнению с Си. А этот как бы весьма важный фактор на практике. - SciFi(04.10.2010 10:52)
- Читающие даташиты в оригинале обычно игнорируют сложность изучения английского языка по сравнению с чтением (пусть кривоватых) переводов на родной язык... ну и так далее. - Cepгeй Бopщ(05.10.2010 00:50)
- Если бы все владели английским и "плюсами", то и шума такого не было бы. Реальность чуть печальнее: нужно учитывать возможности рынка труда. - SciFi(05.10.2010 09:04)
- С такой позицией можно ждать до посинения. Обычно как раз рынок труда подтягивается под требования производства. - Cepгeй Бopщ(06.10.2010 13:13)
- Если бы все владели английским и "плюсами", то и шума такого не было бы. Реальность чуть печальнее: нужно учитывать возможности рынка труда. - SciFi(05.10.2010 09:04)
- Читающие даташиты в оригинале обычно игнорируют сложность изучения английского языка по сравнению с чтением (пусть кривоватых) переводов на родной язык... ну и так далее. - Cepгeй Бopщ(05.10.2010 00:50)
- По п.2 - пусть он попробует по максимуму, какие проблемы? Главное, в листинг посматривать. amusin(137 знак., 04.10.2010 11:17)
- "Не пытайтесь"? Да сделано уже :) Скрипач(617 знак., 04.10.2010 10:42)
- Где вы откопали у меня булеву логику? Я лишь говорю, что в Сях единство стиля реализации алгоритмов вы просто даже не пытаетесь обеспечить, иначе ваша практика была-бы другой. Вам пришлось бы вручную, средствами Си и внутрифирменными =AlexD=(126 знак., 04.10.2010 10:30)
- Булева логика не применима. Есть больше-меньше и есть заметно больше с намного меньше :) У меня есть практика. Я основываюсь на ней, а не на "умозрительной очевидности" :) - Скрипач(04.10.2010 10:19)
- про студентов я уже высказывался ->. а по поводу overkill - какая именно часть языка, по вашему мнению/опыту "убивает" восьмибитники? - Snaky(04.10.2010 10:03, ссылка)
- Ерунда полная. А АСМ и Си значит изучения не требуют и единство стиля не нужно? Больше того скажу, такого разнобоя стилей как на Си в С++ ещё поискать нужно. И понятно почему. =AlexD=(254 знак., 04.10.2010 10:13)
- С точки зрения разработчика-одиночки, Вы абсолютно правы. С точки зрения менеджера проекта, на С++ заметно труднее обеспечить единый стиль нескольких разработчиков (особенно когда большая их часть - студенты с горящими глазами :) Затраты на Скрипач(334 знак., 04.10.2010 09:53)
- это понятно. речь была о том что некоторые вещи, не добавляющие в конечном итоге функциональности изделию (и не несущие оверхеда), все же облегчают написание и поддержку программ, делая их более логически структурированными, чтоли... В связи с Snaky(194 знак., 04.10.2010 08:08 - 08:12)
- В Embedded C++ -> забанены: Evgeny_CD(246 знак., 04.10.2010 12:20, ссылка)
- Вопрос автору и попользовавшимся этим инструментом: как будет выглядеть после трансляции асм-код для ATmega128 при записи в группу из 4-х бит число 0x0A. Группа такая (начиная с младшего в группе): PA.0, PB.0, PD3, PD4? - Quasy(21.09.2010 15:04, )
- Автор любезно ответил в электрониксе. Резюме на данный вариант пока такое: правы были греки, говорившие: бойтесь дилетантов, дары приносящих... - Quasy(27.09.2010 11:06, )
- Конечно! А еще этот код сам за пивом не бегает. - Cepгeй Бopщ(27.09.2010 11:13)
- Пусть не бегает, пусть! Лишь бы подсолнечным маслом ступеньки в подъезде не мазал! :)) - Quasy(27.09.2010 11:16, )
- Чего смешного? Он не делает атомарности. С делает вам атомарность автоматом в выражении PORTC |= (1<<0)|(1<<1)? Нет. Так что - и С в топку? А сделал бы автор атомарность, вы бы заныли про "оверхед". Автор вам там совершенно правильно ответил: Cepгeй Бopщ(129 знак., 27.09.2010 11:31)
- Человек предлагает на профессиональном форуме библиотеку для работы с группой бит. Я, примяняя ее, вправе рассчитывать на отсутствие неоговоренных подводных камней. И не надо про оверхед-нытье! Про оверкод тоже было мною сказано. Я предложил для Quasy(173 знак., 27.09.2010 11:38, )
- Вы вправе на что-то рассчитывать только когда платите деньги и получаете чек. В остальных случаях вы вправе решать свои
сексуальныепроблемы сами. - =AlexD=(27.09.2010 11:48)- Именно про эти бесплатные дары греки и говорили :) - Quasy(27.09.2010 11:54, )
- Вы вправе на что-то рассчитывать только когда платите деньги и получаете чек. В остальных случаях вы вправе решать свои
- Человек предлагает на профессиональном форуме библиотеку для работы с группой бит. Я, примяняя ее, вправе рассчитывать на отсутствие неоговоренных подводных камней. И не надо про оверхед-нытье! Про оверкод тоже было мною сказано. Я предложил для Quasy(173 знак., 27.09.2010 11:38, )
- Чего смешного? Он не делает атомарности. С делает вам атомарность автоматом в выражении PORTC |= (1<<0)|(1<<1)? Нет. Так что - и С в топку? А сделал бы автор атомарность, вы бы заныли про "оверхед". Автор вам там совершенно правильно ответил: Cepгeй Бopщ(129 знак., 27.09.2010 11:31)
- Пусть не бегает, пусть! Лишь бы подсолнечным маслом ступеньки в подъезде не мазал! :)) - Quasy(27.09.2010 11:16, )
- Конечно! А еще этот код сам за пивом не бегает. - Cepгeй Бopщ(27.09.2010 11:13)
- Автор любезно ответил в электрониксе. Резюме на данный вариант пока такое: правы были греки, говорившие: бойтесь дилетантов, дары приносящих... - Quasy(27.09.2010 11:06, )
- С++ я не знаю. Статья показалсь мне не отвечающей поставленной задаче, т.е. усилия превышают результат. VVB(820 знак., 16.09.2010 07:12 - 10:31)
- Еще раз обращу внимание на нетривиальное решение "промежуточного программирования" -> - Evgeny_CD(16.09.2010 20:49, ссылка)
- Ну "для реализации всей системы жизнеобеспечения в полном объёме (аппарат ИВЛ)" возможностей асма во всех блоках (включая и графический дисплей) тоже хватает. Вывод? Следуя вышей логике: для системщиков - ассемблер. - Cepгeй Бopщ(16.09.2010 09:59)
- Не логично про ассемблер. С ассемблера ушли чтобы уменьшить объем кодирования. А здесь показано как на C++ опять повышается объем кодирования. Вот это и есть ошибка автора. AlexandrY(1508 знак., 16.09.2010 12:25)
- У меня стойкое впечатление, что вы статью или не читали или не поняли. Библиотека пишется один раз. Или берется готовая. Далее все проблемы, которые на С вам пришлось бы решать вручную, и которые либо затрудняют портирование, либо делают код Cepгeй Бopщ(619 знак., 16.09.2010 13:07)
- Макросы тоже пишутся один раз. И портируются с минимальными затратами времени. Мне кажется, С++ в данном случае - искусство ради искусства. - Vladimir Ljaschko(16.09.2010 17:11)
- Ладно, не понял так не понял. Думаю много не потерял. Вы сами то согласны применить такой стиль для работы с периферией? - AlexandrY(16.09.2010 14:26)
- да. Он решает некоторые проблемы, которые при решении другими методами требуют множества писанины. - Cepгeй Бopщ(16.09.2010 14:55)
- У меня стойкое впечатление, что вы статью или не читали или не поняли. Библиотека пишется один раз. Или берется готовая. Далее все проблемы, которые на С вам пришлось бы решать вручную, и которые либо затрудняют портирование, либо делают код Cepгeй Бopщ(619 знак., 16.09.2010 13:07)
- Провоцируете. VVB(421 знак., 16.09.2010 10:09)
- Не логично про ассемблер. С ассемблера ушли чтобы уменьшить объем кодирования. А здесь показано как на C++ опять повышается объем кодирования. Вот это и есть ошибка автора. AlexandrY(1508 знак., 16.09.2010 12:25)
- Результаты усилий автора статьи достались сообществу разработчиков бесплатно. Поэтому отношение результат/их_усилия стремится к бесконечности. - amusin(16.09.2010 08:03)
- Их не устраивает виртуализация портов ;-), вот если-бы USB стек........ :-)))))) - =AlexD=(16.09.2010 08:33)
- Дык он уже реализован в WiNCE. Как и многое другое. Бери да пользуйся, если имеешь соответствующую платформу. И мы будем так делать, когда перейдём на готовое вместо самописаного и саморазработанного. - VVB(16.09.2010 10:03)
- Однако, я обманул. WinCE, Linux и все драйвера для них написаны на Си, а не С++. Поэтому USB стек придётся программить с помощью вызова Си-шных функций ОС. Или изучать инструментарий более высокого уровня абстракции, который (инструментарий) VVB(141 знак., 16.09.2010 10:49 - 10:55)
- Заблуждение применительно к WinCE насчет драйверов, написанных на исключительно C. Пишут и на плюсах. sbb(81 знак., 16.09.2010 15:19)
- Однако, я обманул. WinCE, Linux и все драйвера для них написаны на Си, а не С++. Поэтому USB стек придётся программить с помощью вызова Си-шных функций ОС. Или изучать инструментарий более высокого уровня абстракции, который (инструментарий) VVB(141 знак., 16.09.2010 10:49 - 10:55)
- Дык он уже реализован в WiNCE. Как и многое другое. Бери да пользуйся, если имеешь соответствующую платформу. И мы будем так делать, когда перейдём на готовое вместо самописаного и саморазработанного. - VVB(16.09.2010 10:03)
- Их не устраивает виртуализация портов ;-), вот если-бы USB стек........ :-)))))) - =AlexD=(16.09.2010 08:33)
- Очень многие разработчики используют в программах на Си классы, будучи абсолютно уверенны, что в их программах никаких классов нет. :-) - =AlexD=(16.09.2010 07:15)
- Ну это-то сам Бог велел! Активно использую статическую инициализацию, общие или индивидуальные функции отрисовки для разных экземпляров и т.д. Я и говорю, что возможностей Си мне хватает. - VVB(16.09.2010 07:31 - 07:34)
- Ну ты сам то понимаешь, что становишься похож на АСМиста, который макросами фактически лепит свой язык? Абстракция "класс" уже даёт хороший инструмент для структуризации, достаточный для перехода на плюсы. =AlexD=(404 знак., 16.09.2010 07:56)
- Я не комплексую по поводу незнания С++. ООП не зависит от языка. Вот придёт время, изучу С++ и прочувствую радость от того, что можно слегка упростить код, при том же уровне абстракции. - VVB(16.09.2010 10:26)
- Мы используем и virtual и наследование (и даже множественное). Полет нормальный, но требуется время на привыкание. - amusin(16.09.2010 08:05)
- Я то-же пользую, но... "спички детям не игрушка"(с) ;-) - =AlexD=(16.09.2010 08:29)
- Ну ты сам то понимаешь, что становишься похож на АСМиста, который макросами фактически лепит свой язык? Абстракция "класс" уже даёт хороший инструмент для структуризации, достаточный для перехода на плюсы. =AlexD=(404 знак., 16.09.2010 07:56)
- Ну это-то сам Бог велел! Активно использую статическую инициализацию, общие или индивидуальные функции отрисовки для разных экземпляров и т.д. Я и говорю, что возможностей Си мне хватает. - VVB(16.09.2010 07:31 - 07:34)
- Написано красиво,но это как забить обычный гвоздь пневмомолотом, нужна хрен знает какая инфраструктура и приличный объем подготовительных работ :) - Хитрый Китаец(15.09.2010 20:20)
- Статья вообще дурацкая. Считаю, "виртуализировать" обращение к ножкам портов -- дурость. Нужно вместо того писать HAL который бы управлял ножками (без извратов, на голом C) на уровне абстракции каждого отдельного "внешнего устройства" и менять этот fk0(138 знак., 15.09.2010 15:42)
- Т.е., уточню, в функции этого слоя абстракции входят функции управления внешними, по отношению к микроконтролеру, устройствами или модулями микроконтроллера. Например, включить насос, установить уровень подсветки... Принципиально, чтоб эта прослойка fk0(564 знак., 15.09.2010 16:44)
- И что получишь на выходе? Кучу вызовов функций HAL, которые нифига не встраиваются. Производительность пошла лесом. - Cepгeй Бopщ(15.09.2010 15:47)
- Очень даже встраиваются через #include, а потом inline или define. Да и не надо им быть "производительными" часто (я ж пишу -- не только ноги дёргать). Вот то, что *.coff не поддерживает толком отладку в #include -- вот это да, неудобно. - fk0(15.09.2010 16:46)
- Да fk0, по-моему, вообще не читал статью. Потому как всем вариантам HAL на C там 1/3 посвящена, а потом идет сравнение с тем же, но на С++. Что называется, "почувствуй разницу" - Dir(15.09.2010 15:55 - 16:03)
- Плохо она посвящена. Придирки к реализации препроцессорных вариантов, не все варианты рассмотрены. - Vladimir Ljaschko(15.09.2010 18:45)
- Я давно уже не статьи читаю, а код пишу. Без C++, потому, что его нет. C++ с моей точки зрения -- сомнительно полезен. Т.е. может и полезен, но по массе других соображений неудобен (нет поддержки и т.п.) Варианты приведённые в статье -- ахтунгкод, как fk0(17 знак., 15.09.2010 16:48)
- Понятно. Будете еще раз проходить мимо - проходите. - Cepгeй Бopщ(15.09.2010 20:06)
- Статья и ее переработки поразили меня до глубины души. Во весь рост в моей голове встала проблема нелинейности и немонотонности этого языка. В приведенных замечательных примерах введение дополнительного уровня абстрации позволило компилятору Evgeny_CD(249 знак., 15.09.2010 01:33 - 01:37)
- Да, статья хорошая. Но выводы я из нее сделал несколько иные. Скрипач(681 знак., 15.09.2010 12:23)
- Что вызывает отторжение - попытка работать "в терминах контроллера". Зачем? Есть же прикладная задача. Что, проектирование "сверху - вниз" отменили? Работа с портами сидит в задаче-ориентированных примитивах (StartPump, SetValve, etc.) и "битовое Скрипач(64 знак., 15.09.2010 14:55)
- Ну так он же якобы переносимости добивался. В результате переносимой осталась только никому не нужная абстракция. - AlexandrY(15.09.2010 15:18)
- Глупости. Вся "непереносимая" часть реализуется один раз для каждой архитектуры. Всё остальное не меняется совершенно. Вас же не напрягает необходимость в Сях подключать хедер с описаниями портов? Никто от этого не умер? - =AlexD=(15.09.2010 15:31)
- Т.е. не меняется? А вы знаете что описание только мультиплекcирования портов скажем в i.MX31 занимает пару сотен страниц? AlexandrY(454 знак., 15.09.2010 16:06 - 18:23)
- JavaScript - это круто. Столько смысла в каждом знаке. ООП ассемблер. - General(16.09.2010 13:03)
- JavaScript - лучшее средство манипуляции портами, ога. - =AlexD=(16.09.2010 07:13)
- Т.е. не меняется? А вы знаете что описание только мультиплекcирования портов скажем в i.MX31 занимает пару сотен страниц? AlexandrY(454 знак., 15.09.2010 16:06 - 18:23)
- Тут другое. Интересно заложить возможность изменять адреса ввода-вывода, скажем, через систему меню. Если бы абстрагирование помогало это сделать... А так - "алгебра нелинейных пространств". (ново, интересно, но не практично). - Скрипач(15.09.2010 15:29)
- Решалась другая задача, Вы не внимательно читали :-). То что вы ходите было описано в первой части (как один из вариантов) :-). - =AlexD=(15.09.2010 15:33)
- Не спорю :) Просто "первая часть" была "как это делать на С" :о) - Скрипач(15.09.2010 15:37)
- Решалась другая задача, Вы не внимательно читали :-). То что вы ходите было описано в первой части (как один из вариантов) :-). - =AlexD=(15.09.2010 15:33)
- Глупости. Вся "непереносимая" часть реализуется один раз для каждой архитектуры. Всё остальное не меняется совершенно. Вас же не напрягает необходимость в Сях подключать хедер с описаниями портов? Никто от этого не умер? - =AlexD=(15.09.2010 15:31)
- Ну так он же якобы переносимости добивался. В результате переносимой осталась только никому не нужная абстракция. - AlexandrY(15.09.2010 15:18)
- Такая статья только отбивает желание вообще C++ пользоваться. AlexandrY(463 знак., 15.09.2010 13:54)
- +1. Когда я понял, что для понимания статьи мне придется изучить алгоритмы из библиотеки Loki, весь интерес пропал. - Михаил Е.(15.09.2010 13:44)
- Любая библиотека на любом языке - часть этого языка. Это вам любой филолог скажет. - =AlexD=(15.09.2010 13:19)
- Частью языка есть только "стандарнтые" библиотеки, описанные в его стандарте. Попадёт loki в стандарт - будет частью языка. - ReAl_из_отпуска(15.09.2010 14:11, )
- Не поспоришь :) Что является "языком С++?" "Бьерн Страуструп"? +"STL"? +"BOOST"? +"LOKI"? +... N+1? :^) - Скрипач(15.09.2010 13:46 - 13:49)
- Что вызывает отторжение - попытка работать "в терминах контроллера". Зачем? Есть же прикладная задача. Что, проектирование "сверху - вниз" отменили? Работа с портами сидит в задаче-ориентированных примитивах (StartPump, SetValve, etc.) и "битовое Скрипач(64 знак., 15.09.2010 14:55)
- О какой статье речь? - AlexandrY(15.09.2010 09:32)
- Ну и уже здесь на вики есть VVB(83 знак., 15.09.2010 12:12)
- приаттачена к посту по ссылке на электроникс - Snaky(15.09.2010 09:34)
- Попробуйте эти конструкции на разных архитектурах под разными компилерами. Восторги сравняются с плинтусом.. - blackbit(15.09.2010 02:14)
- Хоть убейте, не понимаю агрессивности. Чем С++ хуже Си? В чём лучше я могу сказать - больше возможности для модульности, больше простор для оптимизации, потрясающая гибкость шаблонов. Но в чём хуже??? =AlexD=(224 знак., 15.09.2010 07:15)
- Требования к квалификации программиста выше (это очень существенно). И ради чего? Облагораживания кода для переворачивания битов в портах? Оператором new пользоваться нельзя, так что почти весь потенцил Си++ - под запретом. - SciFi(15.09.2010 09:23)
- Потенциал ограничивается написанными кем-то стандартными библиотеками? Смешно. - Cepгeй Бopщ(15.09.2010 11:08)
- Без new нет виртуальных функций (полиморфизма). Я слышал, это одна из основных концепций в Си++. Без этого Си++ - это "улучшенный Си", что само по себе имеет право на жизнь, но выглядит как некий суррогат. - SciFi(15.09.2010 12:56)
- Бред. Всё бред. И виртуальным функциям new не нужен, и new - всего лишь аналог malloc и работает при наличии кучи, виртуальные функции нужны в embedded крайне редко. =AlexD=(34 знак., 15.09.2010 13:22)
- ... ya(656 знак., 15.09.2010 13:38, )
- Я могу предложить лехко - шаблоны. И это уже не "улучшенный Си" (хотя не понимаю, что плохого в улучшенном Си?). =AlexD=(407 знак., 15.09.2010 15:19)
- Не надо шаблоны - большой оверхеад по коду т.к. редкий компилятор ( точнее линкер ) сможет это оптимизировать. - diper(15.09.2010 20:02)
- Сейчас уже редкий не может оптимизоровать. Я таких не знаю. (именно компилятор за счёт второго прохода, линкер здесь ни при чём) - =AlexD=(15.09.2010 20:45)
- Ждем вашу альтернативу на С. Столь же удобную. - Cepгeй Бopщ(15.09.2010 20:10)
- Во многих случаях даже на 8-ми битниках расходы на вызов виртуальных функций не критичны. А при прочих равных использование вирутальных функций намного понятнее шаблонов, я уже не говорю про более отладку. Чего стоит выводимое компилятором сообщение об ya(73 знак., 15.09.2010 16:24, )
- "Использовать указатели опасно" (C) и "библиотечные функции мы не используем"... - fk0(04.10.2010 15:44)
- Использовать компилятор опасно - кто знает, что он там накомпилирует? - ya(05.10.2010 09:16, )
- Да я ж разве против? Используйте, раз ресурсы позволяют и есть выгода с точки зрения архитектуры программы. Но на них свет клином не сошёлся. - =AlexD=(15.09.2010 17:41)
- "Использовать указатели опасно" (C) и "библиотечные функции мы не используем"... - fk0(04.10.2010 15:44)
- Не надо шаблоны - большой оверхеад по коду т.к. редкий компилятор ( точнее линкер ) сможет это оптимизировать. - diper(15.09.2010 20:02)
- Я могу предложить лехко - шаблоны. И это уже не "улучшенный Си" (хотя не понимаю, что плохого в улучшенном Си?). =AlexD=(407 знак., 15.09.2010 15:19)
- ... ya(656 знак., 15.09.2010 13:38, )
- Не вижу связи между new и виртульными функциями AlexBi(203 знак., 15.09.2010 13:18)
- Бред. Всё бред. И виртуальным функциям new не нужен, и new - всего лишь аналог malloc и работает при наличии кучи, виртуальные функции нужны в embedded крайне редко. =AlexD=(34 знак., 15.09.2010 13:22)
- Без new нет виртуальных функций (полиморфизма). Я слышал, это одна из основных концепций в Си++. Без этого Си++ - это "улучшенный Си", что само по себе имеет право на жизнь, но выглядит как некий суррогат. - SciFi(15.09.2010 12:56)
- Оператором new пользоваться разрешаю :-). Ну а ква-квалификация... это отдельный разговор, кому-то и умение читать лишнее ;-) - =AlexD=(15.09.2010 10:17)
- Потенциал ограничивается написанными кем-то стандартными библиотеками? Смешно. - Cepгeй Бopщ(15.09.2010 11:08)
- Требования к квалификации программиста выше (это очень существенно). И ради чего? Облагораживания кода для переворачивания битов в портах? Оператором new пользоваться нельзя, так что почти весь потенцил Си++ - под запретом. - SciFi(15.09.2010 09:23)
- Хоть убейте, не понимаю агрессивности. Чем С++ хуже Си? В чём лучше я могу сказать - больше возможности для модульности, больше простор для оптимизации, потрясающая гибкость шаблонов. Но в чём хуже??? =AlexD=(224 знак., 15.09.2010 07:15)
- Да, статья хорошая. Но выводы я из нее сделал несколько иные. Скрипач(681 знак., 15.09.2010 12:23)
- Си, с плюсами или без оных, это всего лишь Bill(326 знак., 05.10.2010 08:52 - 09:09)