Problema de biblioteca dinámica de Linux
1. Aunque la biblioteca dinámica es un desperdicio de memoria, la función más importante de la biblioteca dinámica es reducir el espacio en disco ocupado y reducir el tiempo de compilación durante el desarrollo. velocidad que piensas. Debido a que se utiliza una biblioteca dinámica, si modifico la biblioteca dinámica, solo necesito compilar la biblioteca dinámica. Si se utiliza una biblioteca estática y se modifica la biblioteca estática, se deben volver a compilar todos los programas y bibliotecas estáticas que utilizan la biblioteca estática. Y gcc no escanea todo el archivo libc.so. Debido a que hay una tabla de símbolos en el archivo so, solo necesita escanear la tabla de símbolos para saber qué símbolo está en qué archivo .o, y porque no necesita copiar las funciones utilizadas del archivo so, en cierto sentido, la velocidad de compilación es más rápida que la de una biblioteca estática.
2. La biblioteca dinámica se carga usando tecnología de copia en escritura, es decir: solo cuando uso esta función, copiaré la parte de la función. No copiará todo el archivo, solo el. piezas requeridas.