LINUX.ORG.RU
ФорумTalks

О размере кода.

 , , ,


0

2

Сейчас пытаюсь ужать библиотечку для работы с nrf24L01 до вменяемых размеров, чтобы еще сильнее ужать свой бутлоадер для обновления фирмвари... При этом пытаюсь не превратить сам код в нечитаемое УГ. После игр с флажками компилятора, добавления -Wl,relax и еще пятка флажков помимо -Os вроде стало ужиматься в 4к. Думаю... С хрена 3/4 кода выжирает сама библиотека. Стал смотреть листинг. В общем забавно достаточно, оказалось. На авр:

* вызов функции foo() обойдется в 4 байта.

* вызов функции по указателю 8 байт

* вызов функции из структурки obj->foo() - 24 байта

Впрочем, это С. Тут все не так плохо. А если использовать плюсы - вызов метода класса foo.bar() обойдется нам в 34 байта !!!! Это к тому почему я считаю плюсы на 8битной аврке наркоманией

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

Это к тому почему я считаю плюсы на 8битной аврке наркоманией ;)

3 слова после «плюсы» - лишние. И вот это ;) - тоже.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

Тогда можно сразу взять железо помощнее

Quasar ★★★★★
()

Это к тому почему я считаю плюсы на 8битной аврке наркоманией

Да, туда бы java.

Deleted
()
Ответ на: комментарий от Deleted

Гадить в кучу тоннами временных объектов можно даже на ассемблере.

ncrmnt ★★★★★
() автор топика

плюсы на 8битной аврке

Мне кажется, что только очень упоротые наркоманы на такое способны. Хотя, пару лет назад один мой знакомый предлагал питон писать на питоне под AVR.

CYB3R ★★★★★
()
Ответ на: комментарий от ncrmnt

по-моему, раньше память аврки кончится, чем жизнь человека :)

Harald ★★★★★
()

Это всё avrgcc с его упоротыми стековыми фреймами. В IAR всё не в пример лучше.

oneliner
()
Ответ на: комментарий от Eddy_Em

Таки аврка штука хорошая, 40мА на ногу и 5В логика. Это в некоторых случаях сильно упрощает схематику. А под что писать на С мне давно по барабану.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от NeXTSTEP

Вечерком проверю - отпишусь.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

мне вот С для AVR каким-то слишком высокоуровневым кажется

Harald ★★★★★
()

арду_й_на

Это же стёб, да? =)
На восьмибитках - либо асм, либо для извращенцев какой-нить форт с высокой плотностью кода.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

++

// сегодня получил "вольтметр" на STM8, буду мучить, как соберусь.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от GAMer

Нет, это не стёб. Посмотри сырцы ардуйны, там все на С++, с обертками в классы на каждый чих и абстракцией для GPIO ;) Они еще это свое творчество языком программирования (sic!).

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от GAMer

Если надо щёлкать мощными мосфетами - это часто бывает большим плюсом. В случаях запитки от усб - одним линейником в схеме меньше.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

Я это к Yahoooo! Хромой захватил Андройд! (комментарий)
А ардуина, да... Но для того она и делалась.
«Что общего между колхозной революцией 30-х годов и культурной революцией 50-х годов?
- в 30-е годы середняк пошел в колхозы, а в 50-е - в науку.»

GAMer ★★★★★
()
Ответ на: комментарий от next_time

сказал человек, который предлагал писать под МК, в т.ч. восьмибитные avr, на питоне.

Ссылку именно про 8-битные AVR - в студию. Или сразу GTFO?

tailgunner ★★★★★
()
Ответ на: комментарий от CYB3R

Это еще что. На кикстартере был проект о программировании микроконтроллеров на яваскрипте. Он даже взлетел.

fish_ka
()
Ответ на: комментарий от PolarFox

Да, ты прав. Отчего-то с самого начала воспринимал проект как микроконтроллер.

fish_ka
()

вызов функции из структурки obj->foo() - 24 байта
Впрочем, это С. Тут все не так плохо. А если использовать плюсы - вызов метода класса foo.bar() обойдется нам в 34 байта !!!!

Честно говоря, разница не поражает воображение.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от GAMer

Таки я буду писать сверавно ардуйна. Этим словом я выражаю все мое отношение к этому шедевру софтверной инженерии.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от GAMer

Хм, ардуйня? Это слово мне ни разу в голову не приходило. Спасибо, записал в словарик.

ncrmnt ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.