Czy istnieje sposób na uzyskanie listy funkcji, które NIE były nigdzie inklinowane? Albo przekazując opcję gcc, albo sprawdzając plik binarny?Jak dowiedzieć się, które funkcje NIE zostały wstawione
EDYCJA: Wiem, jak jawnie poprosić o funkcję nie być inline przy użyciu wbudowanego atrybutu noinline gcc.
To nie jest poprawne. Funkcje niestatyczne będą emitowane niezależnie od tego, czy zostały wstawione czy nie. – Mat
@Mat, no. Model inline dla C++ jest prawdopodobnie nieco bardziej skomplikowany, ale dla C (C99 i C11) symbol jest emitowany tylko w jednostce tłumaczeniowej, która żąda "instantiantion" symbolu, tj. Dla C, który ma wbudowaną * definicję * i zewnętrzną deklarację. –
@Als, +1, ale możesz być nieco bardziej precyzyjny. Nazwa symbolu może występować jako niezdefiniowany symbol lub do zdefiniowania symbolu. To, czy definiuje symbol, zależy w dużej mierze od modeli tworzenia instancji, myślę, że mogą one być całkiem różne w różnych implementacjach C++ (moja wiedza na temat C++ tutaj jest nieco zardzewiała) oraz w C. –