ViKo 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба В вопросе НЕ БЫЛО про заинлайненую функцию. О передаче арнгментов ЗАИНЛАЙНЕННОЙ функции говорить вообще бесмысленно, ибо нет уже ни функции, ни аргументов. Так-что и ответ не про занлайненную. Вся тема посвящена inline функциям. это не одно и то же.. Это разные вещи, и область применения у них разная. Вот об этом и прошу высказаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CrimsonPig 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Сейчас макрофункция инициализации порта компилируется в ~14 команд (+ память для констант): Ну так попробуйте и нам расскажите :) Не, понятно, что вы дочитали книжку до описания inline функций и пытаетесь всунуть их теперь куда нужно и не нужно. Не волнуйтесь, все этим занимаются по началу :) Хотите еще занятие на полгода примерно ? Почитайте про шаблоны в Ц++ и попытайтесь переписать свой код инициализации на рекурсивных шаблонах и прочей радости :) Это можно сделать.. некорорые даже это делают. Нормально получается у единиц, и никто не пользуется в результате :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Ну так попробуйте и нам расскажите :) Не, понятно, что вы дочитали книжку до описания inline функций и пытаетесь всунуть их теперь куда нужно и не нужно. Не волнуйтесь, все этим занимаются по началу :) Я не волнуюсь. Вам же повторю "Если нечего сказать, не говори ничего." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CrimsonPig 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Я не волнуюсь. Вам же повторю "Если нечего сказать, не говори ничего." Спасибо вам за совет. Идите.... в гугль, там вам место :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба И что, inline функция такого не осилит сотворить? :01: Или да, или нет. Завистит от того, насколько компилятор сможет перелопатить с слепить воедино. В идеале без разницы. Реальность надо смотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 6 сентября, 2015 Опубликовано 6 сентября, 2015 · Жалоба В идеале без разницы. Реальность надо смотреть. На фоне полной оптимизации что идеал, что реальность одинаково, я бы сказал, непредсказуемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 7 сентября, 2015 Опубликовано 7 сентября, 2015 · Жалоба А я проверил. Всё то же, inline функция GPIO_conf(...) с 80 переменными скомпилировалась в те же 14-16 команд. С точностью до байта не проверял, потому что только для одного порта запустил. Кейл - молоток! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
becopt 0 10 сентября, 2015 Опубликовано 10 сентября, 2015 · Жалоба Если много аргументов - передавайте указатель на структуру. Современные компиляторы и это нормально скомпилируют (лучше проверить конечно), зато выглядеть будет чуть симпатичнее. typedef struct { ... } InitConfig; static inline void Init(InitConfig const *config) {} ... InitConfig const init_config = { ... }; Init(&init_config); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться