¿Hay alguna manera de obtener una lista de funciones que NO estaban en línea en ninguna parte? ¿O pasando una opción a gcc o inspeccionando el binario?Cómo saber qué funciones NO estaban en línea
EDIT: Sé cómo pedir explícitamente que una función no se inline utilizando el atributo incorporado de gcc noinline.
Eso no es correcto. Las funciones no estáticas se emitirán independientemente de si estaban en línea o no. – Mat
@Mat, no. El modelo de entrada para C++ es probablemente un poco más complicado, pero para C (C99 y C11) un símbolo solo se emite en una unidad de traducción que solicita una "instancia" del símbolo, es decir, para C que tiene una definición * en línea * y una declaración externa. –
@ Alles, +1, pero quizás podría ser un poco más preciso. Un nombre de símbolo puede estar presente como un símbolo indefinido o para definir el símbolo. Si define el símbolo depende mucho de los modelos de instanciación, creo que pueden ser bastante diferentes en diferentes implementaciones de C++ (mi conocimiento sobre C++ aquí está un poco oxidado) y en C. –