реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> extern __inline, почему не работает ?
MiklPolikov
сообщение May 5 2012, 21:48
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Keil STM32
Пишу

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

extern __inline void ENTER_SLEEP_ADC(void);


И там где функция вызывается , он ругается что такая функция не определена . Почему ? Может __inline вообще нельзя использовать вместе с extern ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 5 2012, 21:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MiklPolikov @ May 6 2012, 01:48) *
Может __inline вообще нельзя использовать вместе с extern ?

Именно. Как компилятор сможет встроить что-то неопределенное?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение May 6 2012, 07:36
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



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


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 7 2012, 20:28
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(demiurg_spb @ May 6 2012, 09:36) *
можно вынести в заголовочный файл всё это хозяйство целиком:
Код
static __inline void ENTER_SLEEP_ADC(void)
{
.................
}

... и еще раз подчеркнуть, что static просто необходим, чтобы избежать многократных определений символов (на что будет ругаться компоновщик), если функция __inline будет использована в разных модулях.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th July 2025 - 10:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016