| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| C срещу Asm статия как компилаторите мислят по-добре от нас http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4165 |
Страница 1 от 1 |
| Автор: | 3aek [ Вто Май 08, 2007 8:54 pm ] |
| Заглавие: | C срещу Asm статия как компилаторите мислят по-добре от нас |
http://www.bytecraft.com/downloads/C%20 ... 0Proof.pdf |
|
| Автор: | zaphod [ Вто Май 08, 2007 11:06 pm ] |
| Заглавие: | |
е микрочипския определено не мисли по-добре от мене |
|
| Автор: | Цецо [ Сря Май 09, 2007 8:18 am ] |
| Заглавие: | |
Ми що го ползваш тогава? Мисли и пиши на асемблер |
|
| Автор: | Noble [ Сря Май 09, 2007 10:23 am ] |
| Заглавие: | zaphod, стига се кодоши бе :-) |
zaphod, стига се кодоши бе |
|
| Автор: | zaphod [ Сря Май 09, 2007 6:15 pm ] | |||||||||
| Заглавие: | Re: zaphod, стига се кодоши бе :-) | |||||||||
не знам какво общо имат нещата които изброи със качествата на микрочипския компилатор, обаче като го сравнявам с истински компилатори (интел или микрософт за РС), доста е зле да ти кажа. |
||||||||||
| Автор: | TheWizard [ Сря Май 09, 2007 6:42 pm ] |
| Заглавие: | |
zaphod - до колкото си спомням компилатора им е взет от линукс ред хед..... а и още не съм срещнал компилатор за ембедед контролер който да е наред |
|
| Автор: | Цецо [ Сря Май 09, 2007 6:43 pm ] |
| Заглавие: | |
Е на каква база сравняваш компилатор за 8 битов RISС контролер с компилатор за 32 битов CISC процесор? 1. По размер на генерирания код? 2. По скорост на изпълнение? Ако имаш предивд бъгове или нещо от сорта - добре е да уточниш. |
|
| Автор: | zaphod [ Сря Май 09, 2007 10:09 pm ] |
| Заглавие: | |
сравнявам ги на база доколко се чувствам тъп когато се меря с компилера. срещу компилера на 6тицата спрях да се боря, след като веднъж се пробвах да напиша един критичен участък от програмата на асемблер, за "по-бързо". е, кода на С++ ме би със около 10% на скорост. това толкова ме учуди, че погледнах асемблера, за да видя как стават тия неща. видях как стават, но за съжаление метода е неприложим от човек. микрочипския компилатор ми понадигна смачканото самочувствие, общо взето кода му е доста неоптимизиран, да не кажа никак. тук не говорим за няккави турбо оптимизации, а за обикновени неща, такива които не разрушават еднозначната връзка със сорса. например когато напиша а=0, очаквам да видя код clr a, той прави clr w0, mov w0,a. това говорим за С30. наложи се да пиша критичните участъци на програмата на асемблер. от друга страна, С30 има най-ужасния инлайн асемблер, който някога е измислян от човек. на практика няма инлайн асемблер, ето защо се наложи да пиша във външен асемблерски файл, нещо което никога не съм правил за компилратор със истински инлайн асемблер. |
|
| Автор: | Реконструктор [ Сря Май 09, 2007 10:13 pm ] | |||||||||
| Заглавие: | ||||||||||
GCC за всички процесори, които съм ползвал, бачка ОК. |
||||||||||
| Автор: | ToHu [ Чет Май 10, 2007 12:26 am ] |
| Заглавие: | |
Значи за много малко си ползвал GCC, освен за PC не знам за друго дали бачка ОК, поиграй си повече с арма и ще видим. Относно компилатор ана микрочип, не съм го позлвал никога, сега ако кажеш че и деленето на 2 го прави с нещо различно то шифт .....аз ползвам CCS и добре оптимизира, доволен съм, но и на мен не ми липсват асемблерски части където кода е по критичен, а с CCS и не само на ритичнит еместа а и при някои определени случаи. |
|
| Автор: | Цецо [ Чет Май 10, 2007 8:26 am ] | |||||||||
| Заглавие: | ||||||||||
Много зависи какъв тип данни си задал за "a". Ако е статична променлива от размерност регистър, поне при мен C18 си го оптимизира.C30 е млад компилатор, може и да е дървеничък. Апропо - той е базиран точно на GCC, даже до скоро (година) в сайта се мъдреха безплатно сорсовете за домашно компилиране. После Микрочип решиха че е дошло време да изкарват пари от него. Както и да е - нямам наблюдения върху него. Относно инлайн асемблера - то според мен идеята му е да ръгнеш няколко инструкции. Иначе когато се касае за повече код - аз лично винаги си го правя в отделен асемблерски фаил и си линквам отделно - по чисто е някак си, а и макроасемблера си е по богат. Не се заяждам - просто като кажеш "Фиат-а" е дърво, е добре да уточниш защо, а не да се превръщаме на бакшиши на стоянка. |
||||||||||
| Автор: | zaphod [ Чет Май 10, 2007 1:51 pm ] |
| Заглавие: | |
във програмите за виндовс които съм писал, имам тук таме асемблер (но не с цел бързодействие, а по други причини), но само инлайн, никъде не съм ползвал отделен файл. за С30 даже една инструкция да напишеш е гадно, само инструнцкии без аргументи лесно се пишат. |
|
| Автор: | ДедоБоре [ Чет Май 10, 2007 3:25 pm ] | |||||||||
| Заглавие: | ||||||||||
мисля, че точно за фията няма нужда да се уточнава дървенията страничкни огледала за фияти се продават в италия в супермаркетите на щанда за домакините - между чирпаците и метлите. а иначе всичко е относително. много лесно е да кажеш, че фията е дърво... ако караш ягуар. но с ягуара не можеш да отидеш по баирите на лов - там си трябва рейндж-ровър. обаче ровъра харчи много и коплект гуми е 2-3000лв пък и зависи лова за кеф ли е или от глад. и ягуара и ровъра обаче струват купчина пари. имат и предимства и недостатъци, повечето от които са видими след продължителна употреба на возилото. строго погледнато всяка кола си има ограничено приложение. но ако ще ходиш на лов, за да се нахраниш, и с фията става. с компилаторите е малко по-добре. може да ги пробваш преди да решиш да ги купиш. разбира се, че ARM/IAR компилатора ще е по-добър от gcc или че дебъгване в IAR среда за АРМ с JTAG емулатор за $2500 е много по-по-най от дебъгване с вриглер и gdb обаче и за разликите в цените се колосални |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|