Red de conocimiento informático - Consumibles informáticos - ¿Se dice que el lenguaje C puede operar directamente el hardware?

¿Se dice que el lenguaje C puede operar directamente el hardware?

No.

En primer lugar, el lenguaje C no puede operar directamente el hardware. Esencialmente, ni siquiera el lenguaje ensamblador. Sólo el lenguaje de máquina puede operar directamente el hardware.

En segundo lugar, el lenguaje C debe pasar por una serie de compilaciones y conversiones para operar el hardware. Con el tiempo se convertirá en el código mecánico 0101. En este momento, no es un lenguaje C que podamos entender en absoluto.

Tomando el compilador GCC como ejemplo, esto se puede dividir en cuatro pasos.

El primer paso es el preprocesamiento, incluida la revisión gramatical y otros trabajos.

? gcc -P abc.c

? El segundo paso es generar código en lenguaje ensamblador a partir del programa fuente.

? gcc -S abc.c?

? Se generará el archivo abc.s y este archivo contiene el código ensamblador.

? En el tercer paso, el compilador genera un código objeto y un archivo fuente genera un código objeto.

? gcc -c abc.c

? ¿Generará abc.o

? El cuarto paso es que el conector genere un archivo ejecutable a partir del código de destino. .

? gcc abc.o

Finalmente, relativamente hablando, el lenguaje C es el lenguaje más cercano al nivel físico entre los lenguajes de alto nivel. También se le llama lenguaje de bajo nivel dentro de un lenguaje de alto nivel. Porque está muy cerca del hardware en muchos aspectos. Un ejemplo típico es un puntero, que es una variable que opera directamente la memoria a través de una dirección física.