Según el estándar, las funciones en línea externas deben tener la misma dirección en todas las unidades de traducción.Las funciones en línea externas deben tener la misma dirección en todas las unidades de traducción. ¿Cómo diablos es eso logrado?
¿Cómo se logra esto en el compilador? Quiero decir, cuando estoy compilando alguna unidad de traducción, no tengo idea de cómo será la otra unidad de traducción. Entonces, ¿cómo puedo tener la misma dirección en todas partes?
¿Qué pasa con las bibliotecas? ¿O voy a ir lejos? –
No importa, me acabo de dar cuenta de que no hay diferencia :) –
@Let_Me_Be: Las bibliotecas estáticas suelen ser solo una colección de archivos objeto, por lo que probablemente contengan varias copias de la función, que se resolverán más tarde cuando se vincule a un programa. Las bibliotecas compartidas generalmente se vinculan como un programa, por lo que se pueden eliminar múltiples copias. –