История изменений
Исправление SZT, (текущая версия) :
Для начала нужно заметить, что пример можно укоротить до
...
Ну тогда можно как-то так:
#include <stdio.h>
inline void func(void) __attribute__ ((always_inline));
inline void func(void)
{
printf("hello\n");
}
int main(void) {
func();
return 0;
}
Такой код вполне компилируется.
Но попытка взять указатель на такую функцию приведет к ошибке. Т.е. если дописать:
typedef void (*myfunc)(void);
myfunc test(void)
{
return func;
}
undefined reference to `func'
Тогда получается что этот inline void func(void) __attribute__ ((always_inline));
- не функция?
Исходная версия SZT, :
Для начала нужно заметить, что пример можно укоротить до
...
Ну тогда можно как-то так:
#include <stdio.h>
inline void func(void) __attribute__ ((always_inline));
inline void func(void)
{
printf("hello\n");
}
int main(void) {
func();
return 0;
}
Такой код вполне компилируется.
Но попытка взять указатель на такую функцию приведет к ошибке. Т.е. если дописать:
typedef void (*myfunc)(void);
myfunc test(void)
{
return func;
}
undefined reference to `func'
Тогда получается что этот inline void func(void) __attribute__ ((always_inline));
- не функция?