Desde la perspectiva de la eficiencia de ejecución del programa, describa brevemente algunas medidas y razones adoptadas por el lenguaje C (esta es una pregunta de reexamen el año pasado, proporcione un lenguaje más oficial)
Para ser honesto, esta pregunta es importante. El lenguaje C es conocido como el lenguaje más flexible. Tiene giros y cambios y está en constante cambio. La forma de ejecutar el programa de manera eficiente depende de la comprensión del programador. del ordenador subyacente y dominio del lenguaje C. Pero solo desde la perspectiva de responder la pregunta, presento algunos puntos aquí solo como referencia:
1. Utilice punteros: una comprensión simple de los punteros puede considerarse similar al método de direccionamiento en ensamblador. , que es exactamente lo que hacen los punteros. La existencia del lenguaje C hace que el lenguaje C sea infinitamente poderoso. Algunos programas se pueden implementar en otros lenguajes, pero C se puede implementar de manera más eficiente; algunos programas no se pueden implementar en otros lenguajes, como el acceso directo al hardware, pero C sí. Debido a que los punteros pueden tener métodos de direccionamiento similares a los de un ensamblador, pueden hacer que los programas sean más eficientes.
2. Utilice funciones macro: La diferencia entre funciones y funciones macro es que las funciones macro ocupan mucho espacio, mientras que las funciones ocupan tiempo. Las llamadas a funciones usan la pila del sistema para guardar datos. Si hay una opción de verificación de pila en el compilador, algunas declaraciones de ensamblaje generalmente están incrustadas en el encabezado de la función para verificar la pila actual, y la CPU también necesita guardarlas; y restaurar cuando se llama a la función. En la escena actual, se realizan operaciones de inserción y extracción de pila, por lo que la llamada a la función requiere algo de tiempo de CPU. Las funciones macro no tienen este problema. Las funciones macro solo están integradas en el programa actual como código preescrito y no generan llamadas a funciones, por lo que solo ocupan espacio y permiten que el programa se ejecute de manera eficiente. Este fenómeno es especialmente prominente cuando se llama con frecuencia a la misma función macro.
3. Utilice operaciones de bits: las operaciones de bits pueden reducir las operaciones de división y módulo. En un programa de computadora, el bit de datos es la unidad de datos más pequeña que se puede manipular. En teoría, las "operaciones de bits" se pueden utilizar para completar todos los cálculos y operaciones. Las operaciones de bits generales se utilizan para controlar el hardware o realizar la transformación de datos. Sin embargo, las operaciones de bits flexibles pueden mejorar efectivamente la eficiencia de la operación del programa.
4. En el anidamiento de bucles, establezca bucles más largos como bucles de memoria y bucles más cortos como bucles externos para reducir la cantidad de veces que la CPU cruza capas de bucle y mejorar la eficiencia de ejecución del programa.