Добавлено спустя 3 часа 59 минут 36 секунд:
В общем, оказалось, что есть, только какое-то ущербное.
Баг признан.
blindman писал(а):Show me the code
weak.c
==============================================
#include <avr/io.h>
void __attribute__((weak)) f(unsigned char c)
{
PORTB = c;
}
strong.c
==============================================
#include <avr/io.h>
void f(unsigned char c)
{
PORTС = c;
}
main.c
==============================================
extern void f(unsigned char c);
void main(void)
{
f(10);
}
void f (unsigned char c) __attribute__ ((weak, alias ("__f")))
Romikgy писал(а): а что есть слабая функция?
Duhas писал(а):но мне такой путь усложнения языка кажется мертвым...
Помните, как все рекламировали Джаву для интернет-приложений? и где она теперь?
Считаю, что нужно качественно научиться хотя бы чему-то одному, а не бросаться на каждую блестящую рекламку.
но мне такой путь усложнения языка кажется мертвым...
Она натянула все другие _недоязыки_ в этой области.
Виталий писал(а):Но и все же появляются новые и интересные технологии, которые стоит брать на вооружение.
Одним из самых удачных языков для реализации на микроконтроллере я считаю Оберон.
Видимо имелось ввиду технология JavaApplet.
Michael_K писал(а):там кода-то две с половиной строчки.
main.c
=================
extern void f(void);
int main(void)
{
f();
for(;;);
}
strong.c
=================
void f (void)
{
PORTB = 0x55;
}
weak.c
=================
void f (void) __attribute__ ((weak, alias ("__f")));
void __f(void)
{
PORTB = 0xAA;
}
Michael_K писал(а):Слабое определение - это когда ты определяешь функцию (или переменную) "слабо" - например в библиотеке. А другой программист может прицепить эту твою библиотеку, но определить свою функцию с тем же именем, и линкер не будет ругаться, а будет использовать новую функцию...
Ну, как-то так
(Я не программист, если что - в точных терминах могу путаться.)
Ну например - обработчик прерываний. Вот он есть какой-то "по умолчанию", а ты можешь его переопределить на свой. Это совсем не новшество... просто редкостная штука - мало кто в такие дебри лезет.
blindman писал(а):Можно и полстрочки по-разному написать
blindman писал(а):"В варианте из даташита" пишется вот так:
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25