Soy un estudiante de primer año y quiero aprender un poco sobre Linux durante las vacaciones. Principalmente quiero saber sobre programación en C++. ¿Qué tal "La cocina privada del tío Psy"?
"Niao Ge's Linux Private Cooking" no se trata de programación, sino de administración del sistema y configuración del servidor, como permisos del sistema, administración de usuarios, configuración del sitio web, etc. No tiene nada que ver con C++. Sin embargo, sigue siendo un buen libro de introducción a la gestión del sistema (el diseño de la tercera edición no es muy bueno, los comandos tienen espacios en las imágenes, pero el texto está junto, etc., debes distinguirlo tú mismo). )
En Linux, C sigue siendo el método principal. Por supuesto, el software como las interfaces gráficas todavía está relacionado con C++.
Si está aprendiendo C, está muy relacionado con Linux. Necesita tener muchos conocimientos sobre el kernel del sistema Linux. Si está aprendiendo C ++, se recomienda comenzar directamente con las bibliotecas de C ++. QT, ACE, etc., todos estos están relacionados con El sistema en sí no está directamente relacionado (pero algunas bibliotecas solo pueden ejecutarse en Linux)
Aquí hay algunas sugerencias para usted:
Si desea aprender a programar en C en LINUX, primero lea uno o dos libros sobre LINUX C. Los libros sobre LINUX C son mejores, puede elegirlos usted mismo, pero los libros clásicos son mejores, como "Programación LINUX" y "Programación avanzada en entorno UNIX". Cuando los lea, elija algunos ejemplos del libro y compílelos usted mismo, incluso si son simplemente introdúzcalos y obtenga el doble de resultado con la mitad del esfuerzo.
Recomiendo un libro simple sobre el kernel "Análisis completo del kernel de Linux 0.12". Se trata del kernel 0.12, con solo más de 10,000 líneas de código. El kernel actual es casi cientos de veces peor. Este libro habla mucho sobre la arquitectura X86, que es esencial para comprender el kernel. Debe poder comprender el ensamblaje. Con el conocimiento anterior, puede leer libros como "Comprensión profunda del kernel de LINUX" para comprender el kernel real actual. (Actualmente, no hay libros clásicos sobre el kernel 3 y la actualización del kernel de tercera generación es más rápida, por lo que no será como 2.6, que no se ha actualizado durante varios años. Sin embargo, 3 y 2.6 siguen siendo muy similares. principalmente algunas expansiones, y los principios son los mismos, puedes usar los libros 2.6 para aprender sobre ello, solo elige uno clásico, para fines prácticos, "Así es como debes aprender Linux"
Después. eso, puede elegir según sus propias preferencias. Si desea obtener información sobre el desarrollo de controladores, simplemente eche un vistazo a "Controladores de dispositivos Linux". Si desea comprender la red, puede obtener información sobre los protocolos relacionados, etc. Si desea aprender C ++, también puede obtener información sobre las bibliotecas correspondientes.
(Los títulos de muchos libros tratan sobre Unix en lugar de Linux, pero la esencia es la misma y los principios básicos están interconectados)
Con el conocimiento anterior, puedes hacer proyectos y práctica, la práctica integral es la mejor manera de comprobar si domina los conocimientos relevantes. Desarrollar algunos proyectos de manera adecuada para dominar los conocimientos adquiridos.
Estas son algunas de mis experiencias, espero que os sean de utilidad.
También es necesario comprender el propio sistema Linux, como el conocimiento de permisos, la programación de subprocesos, etc.
Si está aprendiendo C++, se recomienda aprender primero los conocimientos básicos de C++, como funciones virtuales, herencia de clases, etc. Esas bibliotecas se construyen sobre esta base.