Zgodnie ze standardem zewnętrzne funkcje inline muszą mieć ten sam adres we wszystkich jednostkach tłumaczeniowych.Zewnętrzne funkcje inline muszą mieć ten sam adres we wszystkich jednostkach tłumaczeniowych. Jak, do cholery, udało się to osiągnąć?
Jak to osiągnąć w kompilatorze? Mam na myśli, że kiedy kompiluję jakąś jednostkę tłumaczeniową, nie mam pojęcia, jak będzie wyglądała druga TU. Jak więc mogę wszędzie mieć ten sam adres?
Co z bibliotekami? Czy mogę iść daleko? –
Nieważne, właśnie sobie uświadomiłem, że nie ma różnicy :) –
@Let_Me_Be: Biblioteki statyczne są zazwyczaj zbiorem plików obiektowych, a więc prawdopodobnie będą zawierały wiele kopii funkcji, które zostaną później rozwiązane podczas łączenia z programem. Biblioteki współdzielone są zwykle połączone jak program, dzięki czemu można w ten sposób wyeliminować wiele kopii. –