Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es el orden para aprender a programar controladores de Windows?

¿Cuál es el orden para aprender a programar controladores de Windows?

Todavía estás demasiado lejos. Es demasiado pronto para hablar sobre los controladores del kernel. Este ciclo de aprendizaje es muy largo.

La programación del controlador del kernel no es un conocimiento profundo. No es más que crear código de acuerdo con la API y el marco del sistema. Es solo que estas cosas proporcionan funciones más cercanas a la capa inferior del programa. La estructura es más beneficiosa y más eficiente. No importa si algo no es innovador o no, sólo es cuestión de copiar la calabaza.

Por dónde empezar, la ruta básica es Idioma-》Algoritmo-》Mecanismo de marco y programa WINDOWS-》Implementación del kernel del sistema, etc.

Parte del contenido mencionado a continuación tiene la misma premisa, que es seguir escribiendo código y depurándolo; de lo contrario, todo será en vano. Una vez me dijo un profesor de sistemas operativos: "Si lees un libro y te pides que lo hagas, si no puedes hacerlo, no lo has aprendido".

La primera etapa: desde Ya ha propuesto una dirección, entonces Los lenguajes elegidos son naturalmente C y C ++, los cuales son necesarios ahora que el kernel de WINDOWS está mixto, desde esta perspectiva, uno debe estar familiarizado con ambos. Para libros relacionados, aquellos en China pueden comprar los libros de C y C++ de Tan Haoqiang, que son relativamente cortos y adecuados para comenzar. También pueden leer libros como C++ PRIMER que explican C++ desde la perspectiva de C++. Luego, para tener una base sólida en C y C++, puede leer libros como EFFECTIVE C++/MORE EFFECTIVE C++/C Language Traps, etc., que explican algunas experiencias y técnicas del nivel del idioma. Aquí no se trata de una tecnología diandian, es solo la base del lenguaje más básico.

Para facilitar el aprendizaje posterior, en esta etapa se deben aprender cursos básicos de informática, estructuras de datos, redes de ordenadores, sistemas operativos, principios de bases de datos, principios de composición, etc., e incluso algunos conceptos básicos de matemáticas avanzadas y matemáticas discretas. Esto depende de su situación, es muy importante y tiene un gran impacto en el desarrollo posterior.

La segunda etapa: programa WINDOWS. Familiarícese con el mecanismo de implementación del programa WINDOWS, como la respuesta de mensajes y el procesamiento de eventos. Debe comprender cómo se implementa la capa subyacente, no solo un concepto. Los relevantes incluyen WINDOWS SDK, MFC framework, etc. Los libros incluyen "Programación WINDOWS" (el libro de Microsoft de 1300 páginas, aunque muy grueso, no es más que un clásico en este campo. Por supuesto, hay muchos nacionales, pero son todos La escritura es relativamente simple y muchos lugares se cubren de una sola vez), "Insider MFC en un lenguaje simple", "VC Technology Insider", etc. Estos son libros que explican el mecanismo de implementación subyacente de MFC. que enseñarte cómo arrastrar controles. <> Este artículo explica SOCKET. De hecho, este aspecto generalmente se trata en libros de programación de WINDOWS, pero muchas personas aún no lo entienden, para familiarizarse con él, aún es necesario leerlo. . Controlador, esto simplemente se hace bajo un marco fijo de WINDOWS, no es gran cosa.

La tercera etapa: relacionada con el kernel. Dado que WINDOWS no es de código abierto, no hay ningún código que mirar. Lo bueno es que un sistema similar a Windows como REACTOS ahora es de código abierto. Puede observar la implementación del código y familiarizarse con cómo se ejecuta el sistema operativo. . Muchas de estas cosas involucran mecanismos relacionados con la seguridad y usted debe descubrirlos usted mismo.

Además, también debe comprender cómo compila el compilador, cómo se vincula el vinculador, cómo el sistema operativo carga archivos, cómo WINDOWS administra la memoria y muchos otros conocimientos relacionados que no tendrán un impacto directo. su programa. Valor, pero el valor indirecto es ilimitado. En el proceso de aprendizaje, debes comprender algunos métodos básicos de resolución de problemas, patrones de diseño, etc. Estas cosas son las tecnologías reales. Supongo que te resultará difícil investigar un poco, pero lo anterior es suficiente.

Hoy en día, muchas personas tienen que aprender sistemáticamente cuando aprenden, pero también hay que entender el coste. El progreso en el frente es muy lento, el ciclo de aprendizaje es muy largo y es difícil persistir. ¿Hasta qué punto has aprendido? Una vez que haya aprendido a usarlo, y si puede hacerlo y explicarlo, podrá continuar estudiando más tarde. No use NEW durante varios años y no sepa qué ha hecho NEW.