Por una razón quiero desempaquetar una lib estática (libx.a) en archivos de objetos individuales (ao bo co) y especificar estos archivos de objetos (ao bo co) en la entrada del enlazador lista en lugar de libx.a, con otras opciones de enlazador que permanecen iguales.enlace con biblioteca estática vs archivos de objeto individuales
Sin embargo, he notado que el cambio anterior ha producido una gran diferencia en el ejecutable de salida. Básicamente, el método (a.o b.o c.o) dará como resultado un mayor tamaño de salida.
¿Cuál es la diferencia entre los dos métodos (libx.a y archivos de objetos individuales)? ¿Y hay alguna manera de evitarlo?
El binutil GNU (a favor y ar ld) versión que estoy usando es 2.16.1
Gracias.
¿Qué es lo que intentas lograr dividiendo los archivos individuales del objeto? –
La razón original fue que, quería especificar la sección de salida para una lib estática en el script del enlazador. Y por alguna razón, la sintaxis del archivo (libx.a: *. O (.text)) no funciona, probablemente debido a la versión binutil desactualizada en mi cadena de herramientas. Como no podía actualizar la cadena de herramientas, tuve que descomprimir la biblioteca y usar los archivos del objeto explícitamente. Y así es como me encontré con este problema. – user313031