|
|
|
Инлайновая функция |
|
|
|
Jul 5 2018, 08:57
|
Профессионал
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075
|
Если я определяю функцию как инлайн Код файл .h inline uint32_t SYSTIME_GetSystemTime(void); файл .с inline uint32_t SYSTIME_GetSystemTime(void) { //do something } то при вызове функции IAR ругается Error[Li005]: no definition for "SYSTIME_GetSystemTime" то есть функцию надо разместить в .h файле по другому никак?
Сообщение отредактировал Jenya7 - Jul 5 2018, 10:37
|
|
|
|
|
Jul 5 2018, 10:37
|
Профессионал
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075
|
Цитата(scifi @ Jul 5 2018, 14:16) Зачем вам этот инлайн? Включайте в яре "multifile compilation" и оптимизацию, он сам заинлайнит получше любых вот этих потуг. так он заинлайнит все функции. а мне нужно несколько. Цитата(aaarrr @ Jul 5 2018, 14:13) А как иначе компилятор получит тело функции для встраивания? я думал как и обычные функции - из .h файла
|
|
|
|
|
Jul 5 2018, 10:49
|
Гуру
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136
|
Цитата(Jenya7 @ Jul 5 2018, 13:37) так он заинлайнит все функции Ну это вряд ли, зависит от настроек оптимизации и характера кода. А даже если и все, что за печаль? Цитата(Jenya7 @ Jul 5 2018, 13:37) а мне нужно несколько. Интересно, зачем? Нет, правда интересно.
|
|
|
|
|
Jul 5 2018, 11:09
|
Профессионал
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075
|
Цитата(scifi @ Jul 5 2018, 15:49) Ну это вряд ли, зависит от настроек оптимизации и характера кода. А даже если и все, что за печаль?
Интересно, зачем? Нет, правда интересно. ну если все то размер кода вырастит в 10 раз. а это довольно печально.я конечно обеими руками за скорость исполнения но раздувать код до немыслимых пределов я не могу. поэтому и существует трейдофф. Цитата(VladislavS @ Jul 5 2018, 16:05) Свидетели секты пресвятого инлайна. если вам не нужен инлайн то наверно вам можно только позавидовать.
|
|
|
|
|
Jul 5 2018, 11:31
|
Местный
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140
|
Среди программистов ходит байка, что некоторые компиляторы, видя в коде больше N инлайнов, решают что юзер дурак и забивают на них. Цитата(jcxz @ Jul 5 2018, 14:15) Вы как бы даже не задумались, что подобные проблемы здесь на форуме возникают только у Вас? Совсем ни о чём не говорит? Неправда ваша, последователи этой секты появляются с регулярной периодичностью. Цитата(Jenya7 @ Jul 5 2018, 14:09) ну если все то размер кода вырастит в 10 раз. Где такую забористую @$# берёте? В IAR поставьте оптимизацию Balanced и забудьте раз и навсегда.
|
|
|
|
|
|
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|