| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| C++ библиотечки http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11198 |
Страница 1 от 1 |
| Автор: | miro_atc [ Съб Мар 16, 2013 2:35 pm ] |
| Заглавие: | C++ библиотечки |
Търся нещо "дюс", че тва семплото STL не е за нас Обаче или чичко гугъл ми е сърдит или STL/boost нямат алтернативи. Простите С++ библиотечки дето намирам са твърде проЗти... то такива и сам мога да надраскам Май ще трябва да се минава на стандартни шанлони... ама пусто ползват ексепшъни и хич не са оптимизирани като за ембедед. Все си мисля, че трябва да има нещо по-подходящо като за контролери? |
|
| Автор: | fan [ Съб Мар 16, 2013 3:15 pm ] |
| Заглавие: | Re: C++ библиотечки |
Направо ти казвам, без да ги пипнеш няма да стане, щото такива оптимизирани за микроконтролери и каквито ще ти харесат няма ей така свободно дадени! Всичко е писано от гадни мангали, които са гледали да отбият номера или да се похвалят нейде. При тях спазването на "априлската линия на партията" като определение за права е в пълна сила! Ако си хванеш някоя братушка с добри намерения и без предразсъдъци, може и да ти даде нещо. |
|
| Автор: | miro_atc [ Съб Мар 16, 2013 4:25 pm ] |
| Заглавие: | Re: C++ библиотечки |
STL при всички случаи е писан от по-добри програмисти от мен, но просто не е писан за контролери а за пц. Разликите са дребни, примерно всички референс броячи са int, докато за дребни контролери и 16- бит е предостатъчно. Същото се отнася и за дължините. В крайна сметка стандартния стринг има 12 байта овърхед, докато може да се направи само с 4. Отделно както е при куртексите адресното пространство е стандартно, т.е. по адреса може да се различат разни типове. С ей такива хитринки може да се спечели известна ефективност. При компютрите няма нужда, нито смисъл от дребни тарикатлъци, затова и STL е такъв, а не защото е писан от мангали. По-скоро аз правя цигански номера.... вместо да го ползвам. Между другото все повече се замислям.... поразучих малко С++11. Всъщност разучих е много силна дума, щото те направо са се уляли... коренно са променили Ц++ и така са го усложнили, че и 5 години няма да ми стигнат ако трябва да науча всичко. Самият стандарт е 1300 страници, половината обясняват термини. Все едно четеш енциклопедия Британика... Та мисълта ми беше, че много от новите неща са обвързани по един или друг начин със стандартните библиотеки. И май това обяснява защо няма алтернативи.... |
|
| Автор: | palavrov [ Съб Мар 16, 2013 6:33 pm ] |
| Заглавие: | Re: C++ библиотечки |
http://www.rawmaterialsoftware.com/juce.php http://qt-project.org Тези стават за ембедед системи, ама с линукс На теб няма да ти свършат работа, но ако гуглето токара някой тука да ги има като линкове - и двете може да се ползват без гуи-то им за апликации без юзер интерфейс. Май ще ти е по лесно да си напишеш каквото ти трябва, по принцип за ембедет чисто C без ++ е по на почит. Може би в eCos има нещо като за теб, то е писано отдолу на C++, и отгоре са му направили C API като за нормални хора. |
|
| Автор: | miro_atc [ Съб Мар 16, 2013 10:14 pm ] | |||||||||
| Заглавие: | Re: C++ библиотечки | |||||||||
чак пък "почит"... все едно да почиташ Москвич пред по-съвременна кола Просто до скоро нямаше или хората не можеха да си го позволят, ама вече не е така. Особено пък за такива като нас дето ползваме гцц... всичко си идва наготово, грехота е да не се ползва Въпросът не е в езика, това отдавна е решено. Въпросът е как го ползваме, щото в началото имахме много Ц код дето нямаше смисъл да се пренаписва. Покрай тоя код и базовите библиотеки бяха Ц. Постепенно уж всичко стана Ц++, обаче направено с Ц мислене, разхвърлено, неорганизирано... с много дублирания. С две думи плачи си за нова организация... |
||||||||||
| Автор: | palavrov [ Съб Мар 16, 2013 10:26 pm ] |
| Заглавие: | Re: C++ библиотечки |
Ами зависи - ако търсиш в Ц абстракции от по високо ниво, няма, там Ц++ и обектно ориентираните езици вършат работа. Ама аз гледам на Ц като на по високо ниво асемблер - и така всичко си идва на място. Обектно ориентираното програмиране е по скоро въпрос на подходящи имена за структури от данни и процедури/функции/методи. Езиците от високо ниво просто вкарват синтакс шугар - вдигат продуктивноста на писане на сорс, но това си има и цена де, поддръжката после става по трудна/скъпа. Ц като че ли има идеалното отношение на възможности/простота. Ти сам го каза за новия Ц++ стандарт ... 1300 страници ... айде мерси. |
|
| Автор: | miro_atc [ Съб Мар 16, 2013 11:55 pm ] |
| Заглавие: | Re: C++ библиотечки |
Може би не бях достъчно ясен, затова ще повторя че темата за или против ++ не ме вълнува... С моите познания мога да кажа че Ц++ позволява по-добър контрол върху ниското ниво, т.е. по-близко е до асемблера. В същото време позволява и работа на по-високо ниво, много по-високо ниво от Ц. Така че за мен изборът е ясен. Ако някой се двууми и се плаши, то си е негов проблем. Иначе в новия стандарт наистина са добавили много нещо... със сигурност няма да науча всичко и да ползвам всичко. Знам че звучи странно и аз съм свикнал като пиша нещо да го разуча в детайли. Примерно не пиша асемблер, докато не разбера абсолютно всички адресации и всички инструкции. Е новото Ц++ няма научаване просто. Но и няма нужда, щото някои неща са съвсем изчанчени. Примерно може да се пишат аксиоми. Да кажем foo(x,y) <==> foo(y,x) означава, че не би трябвало да има значение редът на параметрите. Пишеше се още нещо в началото, ама не си дадох зор да го запомня, щото не планирам скоро да ползвам аксиоми.... Ако се наложи, ще чета. Както и да е, важното е че в 11- ката има и много ценни подобрения и са изчистени недомислици като проблема с union. Ако тия неща бяха ги обмислили по-рано, дискусията C vs C++ щеше да е още по-безсмислена |
|
| Автор: | miro_atc [ Съб Дек 06, 2014 1:41 pm ] |
| Заглавие: | Re: C++ библиотечки |
Вдигам старата тема, че нещо пак ме е засърбяло отзад... Просто си трябва обектна библиотечка. Навремето почнах да правя нещо, не го завърших, стои като кръпка. Сега се опитвам да дописвам, но не искам да губя много време и накрая май ще се получи още по-голяма кръпка. Та викам ако се появило нещо читаво за ембедед Ц++ дето да не съм го забелязал? Нямам големи надежди, ама да питам все пак... |
|
| Автор: | bobihot [ Нед Дек 07, 2014 3:00 am ] |
| Заглавие: | Re: C++ библиотечки |
CooCox CoIDE влиза ли ти в категорията? Използва GCC- мечта Излязла е версия 2 пробна (бета)- ще я пробвам http://www.coocox.org/software.html Edit- опитвам се да я инстална и само писука? Може ли да не е наред, или вирусна? |
|
| Автор: | miro_atc [ Нед Дек 07, 2014 3:12 pm ] | |||||||||
| Заглавие: | Re: C++ библиотечки | |||||||||
тц... кокоса няма Ц++ библиотеки А защо писука нямам представа... |
||||||||||
| Автор: | bobihot [ Нед Дек 07, 2014 4:10 pm ] |
| Заглавие: | Re: C++ библиотечки |
След много чакане се инсталира. ГСС не включва ли С++ ? |
|
| Автор: | miro_atc [ Нед Дек 07, 2014 4:48 pm ] | |||||||||
| Заглавие: | Re: C++ библиотечки | |||||||||
Като компилатор включва разбира се... Даже си има и стандартните Ц и Ц++ библиотеки, в случая говорим за STL (standard template library). Но STL е твърде универсална, може да работи от най-простия до най-сложния проц с терабайти памет. Но класовете в STL не са оптимизирани като за емебедед. Примерно техния cstring заема 12 байта RAM повече отколкото моята версия. Естествено това идва за сметка на разни ограничения, примерно при мен дължината на стринга е short при тях е int. Но аз съм се примерил, че един стринг няма да ми е по-голям от 64к То не е само до повечето RAM, макар че при някои обработки може би стигам няколко хиляди стринга и ако всеки е с 12 байта отгоре си става доста килобайти. Проблемът е, че освен RAM те бълват и повечко код, абе с две думи писано е като PC... всъшност то наистина е писано PC и изобщо не е мислено като за ембедед.... |
||||||||||
| Автор: | bobihot [ Нед Дек 07, 2014 5:51 pm ] |
| Заглавие: | Re: C++ библиотечки |
Да-благодаря! |
|
| Автор: | paregov [ Нед Дек 07, 2014 7:27 pm ] |
| Заглавие: | Re: C++ библиотечки |
Не съм го ползвал до сега само ми попадна преди няколко дена. http://cxx.uclibc.org/faq.html |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|