Zayıf sembol (weak symbol)
Aynı adın başka, “güçlü” bir tanımı çıkmazsa bağlayıcının kullandığı tanım.
GCC ve Clang bunu __attribute__((weak)) diye yazar, ELF de doğal olarak destekler. Gömülü kod bunu yoğun kullanır: CMSIS başlangıç dosyaları her kesme işleyicisini, sonsuza dek döngüde kalan bir Default_Handler’a zayıf takma ad olarak tanımlar. Kendi USART1_IRQHandler’ınızı yazarsanız o kazanır; yazmazsanız bağlama başarısız olmak yerine kesme döngüye düşer.
Madalyonun öbür yüzü: USART1_IRQhandler gibi bir yazım hatası ya da C++’ta unutulmuş bir extern "C" tek uyarı vermeden derlenir. Program, kesme ilk tetiklendiğinde Default_Handler’da takılır ve bu, mesleğin en şaşırtıcı hata ayıklama seanslarından birine yol açar.