Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: extern __inline
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
MiklPolikov
Keil STM32
Пишу

__inline void ENTER_SLEEP_ADC(void)
{
.................
}

extern __inline void ENTER_SLEEP_ADC(void);


И там где функция вызывается , он ругается что такая функция не определена . Почему ? Может __inline вообще нельзя использовать вместе с extern ?
aaarrr
Цитата(MiklPolikov @ May 6 2012, 01:48) *
Может __inline вообще нельзя использовать вместе с extern ?

Именно. Как компилятор сможет встроить что-то неопределенное?
demiurg_spb
Цитата(MiklPolikov @ May 6 2012, 00:48) *
Может __inline вообще нельзя использовать вместе с extern ?
да нельзя.
можно вынести в заголовочный файл всё это хозяйство целиком:
Код
ststic __inline void ENTER_SLEEP_ADC(void)
{
.................
}
KnightIgor
Цитата(demiurg_spb @ May 6 2012, 09:36) *
можно вынести в заголовочный файл всё это хозяйство целиком:
Код
static __inline void ENTER_SLEEP_ADC(void)
{
.................
}

... и еще раз подчеркнуть, что static просто необходим, чтобы избежать многократных определений символов (на что будет ругаться компоновщик), если функция __inline будет использована в разных модулях.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.