C/Biblioteki: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m interwiki do oninclude |
Nie podano opisu zmian |
||
Linia 97:
Gdybyśmy tu nie zastosowali '''extern''', kompilator (nie linker) zaprotestowałby, że nie zna zmiennej ''zmienna_dzielona''. Próba dopisania deklaracji <tt>char zmienna_dzielona[];</tt> stworzyłaby nową zmienną i utracilibyśmy dostęp do interesującej nas zawartości.
Odwrotne działanie ma słowo kluczowe '''static''' użyte w tym kontekście (użyte wewnątrz bloku tworzy zmienną statyczną, więcej informacji w rozdziale [[C/Zmienne#static|Zmienne]]). Może ono odnosić się zarówno do zmiennych jak i do funkcji globalnych. Powoduje, że dana zmienna lub funkcja jest '''niedostępna''' na zewnątrz biblioteki<ref>Tak naprawdę całe "ukrycie" funkcji polega na zmianie niektórych danych w pliku z kodem binarnym danej biblioteki (pliku .o), przez co linker powoduje wygenerowanie komunikatu o błędzie w czasie łączenia biblioteki z programem.</ref>. Możemy
<noinclude>
{{Przypisy}}
|