Red de conocimientos turísticos - Información de alquiler - Acerca de la elección entre la dirección de la aplicación C++ y la dirección del sistema integrado

Acerca de la elección entre la dirección de la aplicación C++ y la dirección del sistema integrado

Hola, muchas gracias.

Has mencionado tantas cuestiones, así que déjame decirte un poco más.

En primer lugar, me gustaría señalar una diferencia de entendimiento entre usted y yo. Para tu referencia

Dijiste que la programación integrada rara vez usa C++, generalmente C con JAVA. No estoy de acuerdo con esto. He estado expuesto a algunos proyectos integrados, nacionales y japoneses, que generalmente usan C/C++. Excepto por los proyectos de Android, la combinación de C + Java es relativamente rara. Hay muchas razones, algunas de las cuales son controvertidas, pero una cosa en la que todos están de acuerdo es que el mecanismo de reciclaje de memoria de JAVA es bueno en todas partes, excepto en proyectos integrados que tienen requisitos de memoria y eficiencia extremadamente altos. La razón es que la iniciativa de JAVA de liberar memoria es muy complicada e inestable, y es posible que algunos sistemas de máquinas virtuales no presten atención a su solicitud de liberación de memoria. Cuando algo como esto sucede en una PC, es posible que simplemente se congele por un tiempo o, en el peor de los casos, que el proceso se congele. Pero en proyectos integrados puede ser un desastre. No hay ningún administrador de procesos en la pantalla del automóvil :).

(Este problema también se ha encontrado en teléfonos móviles Android)

Por lo tanto, en proyectos integrados que están altamente integrados y tienen menos recursos de hardware que las PC, C++ se usa más que JAVA. Por supuesto que hay excepciones. Por ejemplo, la parte BD-J del proyecto BDMV de SONY se usa principalmente en la PS3 que jugamos. Su estructura es

C -> C++ ->JAVA. Pero esto es relativamente raro.

Le he dicho a la gente en muchas ocasiones que el lenguaje de programación es sólo un medio. Los programadores aprenden ideas. No se puede decir que si aprende C ++, no tiene el concepto de reciclaje automático de memoria, ni puede decir que si aprende JAVA, no sabrá que la memoria aún debe reciclarse después de que se agote. Es una buena opción dominar uno y comprender los demás. Entonces, ¿es esta una respuesta para ti?

En cuanto a la estructura de datos que mencionaste, hoy escuché una metáfora extraña y elegante.

La demanda de los clientes son las verduras que compran, rábanos, pepinos y tomates. No puedes tirarlos todos a la olla, hay que organizarlos, cortar los pepinos en rodajas, cortar la carne en cubos y luego juntar los ingredientes del mismo plato, pepinos, huevos y repollo con carne frita. Así es como estructura sus datos. Luego lo cocinas paso a paso y lo comes, y luego lo descompones y lo digieres paso a paso. Este es el proceso de definición del algoritmo. Después de un rato, fui al baño y me puse en cuclillas, y puf, nació un excelente proyecto.

Si hay un problema con la definición de tu estructura de datos, croton, piña silvestre, cangrejo, puerro y cubitos de hielo, no importa cuán brillante sea el algoritmo, seguirá siendo delgado... p>

Entonces, no importa qué lenguaje se utilice, la estructura de datos es un curso obligatorio para los programadores.

Esta es la respuesta a tu pregunta.

En cuanto a su plan industrial, los proyectos integrados son mi gran amor. Generan dinero, me dan una sensación de logro y el trato al personal es bueno. El anciano habla de sistemas operativos, estructuras de datos y algoritmos, que son cursos obligatorios. Ahora hay menos proyectos MFC. Después de todo, WPF es una cosita muy práctica y prometedora. Sin embargo, el MFC todavía tiene ocasiones necesarias.

Incluso si no practicas MFC, te recomiendo que lo aprendas. Aunque muchas personas, incluido yo, critican sus reglas de nomenclatura y parámetros del método, todos deben admitir que, después de todo, esto es. la cristalización de la sabiduría de los chefs y comensales más elitistas de Microsoft después de comer los ingredientes más clásicos del mundo.

Piense en qué funciones proporciona y qué interfaces están definidas para que pueda utilizar estas funciones. ¿Por qué se define de esta manera? ¿Tiene algún método más conveniente? Creo que este tipo de aprendizaje le resultará útil.