Instalación del compilador y del compilador C/C++ (instalación c+)

Contenido
1. Descripción general de los compiladores para lenguajes de programación comunes
2. Las diferencias entre GCC, MinGW, MinGW-w64, TDM-GCC, Cygwin, MSYS y MSYS2
3. Descargue e instale el conjunto de compiladores MinGW-w64
4. Después de la instalación MinGW-w64, configuración de variables de entorno de Windows (ajuste)
5. El funcionamiento del compilador y su relación con el entorno de desarrollo integrado, la fuente del compilador

Instalación del compilador y del compilador C/C++ ( instalación c+)

1. Resumen de compiladores para lenguajes de programación comunes

       El lenguaje máquina es la expresión del binario en la computadora, y el binario de 1 y 0 está representado por niveles altos y bajos. El binario de 1 y 0 constituye una instrucción de máquina (instrucción), también conocida como código de máquina o instrucción de computadora, y la computadora ejecuta de acuerdo con el código de máquina binario.

        Una instrucción de máquina (código de máquina) debe incluir dos partes: código de operación y código de dirección (u operando). El código de operación indica el tipo de operación realizada por la instrucción, como: sumar, restar, multiplicar, dividir, transferir, etc. El código de dirección indica la ubicación donde se almacenan los datos involucrados en la operación y el resultado de la operación. Las instrucciones de la máquina se traducirán aún más en operaciones específicas en la CPU, de modo que la computadora pueda realizar operaciones específicas.

      C y C++ pueden compilar el código en código de máquina a través del compilador (compilador), y la computadora puede ejecutarlo de acuerdo con el código de máquina, mientras que Java y Python primero compilan el código en código de bytes y luego compilan el código de bytes en código de máquina y ejecutan , el primero solo necesita compilarse una vez como un todo y luego ejecutarse una vez que se completa la compilación, y el segundo compila dos veces de manera relativamente independiente (la segunda vez es compilación y ejecución). Se puede ver que instalar lenguaje C o instalar C++ no es como instalar Java o Python, el primero solo necesita instalar un compilador para ejecutar el programa, mientras que el segundo necesita instalar un compilador + máquina virtual, por ejemplo: el intérprete de python es compuesto por compilador + máquina virtual Composición del mecanismo. Por lo tanto, existe una gran diferencia entre la instalación del lenguaje C o la instalación de C++ y la instalación de Java o Python, que está determinada principalmente por las características de los dos procesos de procesamiento.

       Pero en un sentido amplio, lo que instala Java o Python también es un tipo de compilador, pero este tipo de compilador es bastante especial. Ha pasado por dos traducciones relativamente independientes, y la segunda implementación se ejecuta durante la traducción. Debido a esta característica, el primero La segunda ejecución de traducción se llama máquina virtual, y el compilador C o C++ tiene solo una traducción en total. Una vez completada la traducción, se genera un archivo con características de código de máquina. El archivo generado está estrechamente relacionado con el sistema informático. dónde se encuentra (a Los archivos que se ejecutan en la computadora están estrechamente relacionados con el sistema operativo y el sistema de hardware de esta computadora, y solo se pueden ejecutar cuando se adaptan a él), por lo tanto, C o C ++ carece de multiplataforma y portabilidad, mientras que Java o Python se compilan por primera vez. El código de bytes generado no está relacionado con el sistema informático donde se encuentra. Es solo una combinación del código y no está relacionado con el sistema informático. Está estrechamente relacionado con la computadora. sistema cuando se ejecuta la segunda traducción Por lo tanto, Java o Python primero El formulario de código de bytes compilado una vez asegura su plataforma cruzada y portabilidad, que también es una ventaja de ellos.

       La instalación de cualquier lenguaje de programación consiste principalmente en instalar un archivo que tenga capacidades de traducción para este lenguaje de código. Esta función de traducción consiste en convertir el código en el código de máquina final, y luego la CPU lo ejecuta de acuerdo con el código de máquina . Otras instalaciones adicionales son más para la comodidad de los usuarios. Estas funciones adicionales se pueden eliminar por completo. También podemos realizar estas funciones adicionales solo con la función de traducción, pero esto pondrá a prueba nuestra capacidad y requerirá más tiempo de desarrollo. Por lo tanto, la instalación de algunos lenguajes de programación ocupan mucho espacio de almacenamiento, pero en realidad agregan muchas funciones adicionales, como: matlab, que brinda una gran cantidad de herramientas de cálculo, debido a que este lenguaje se enfoca en cálculos matemáticos.

      Siempre que el código que escribimos se ajuste a la especificación c o c++, el compilador puede traducir estos códigos en códigos de máquina (instrucciones de máquina) que la computadora puede ejecutar directamente, y luego la CPU los ejecuta de acuerdo con estas instrucciones para realizar la operación de el programa. A continuación, entendemos primero varios software que pueden admitir GCC en la plataforma Windows y luego presentamos la instalación del compilador C/C++.

2. Las diferencias entre GCC , MinGW , MinGW-w64 , TDM-GCC , Cygwin , MSYS , MSYS2

      GCC (GNU Compiler Collection), la suite de compiladores GNU. GCC originalmente se llamaba GNU C Compiler (GNU C Compiler), que solo puede procesar el lenguaje C. Después de la expansión, puede admitir múltiples lenguajes de programación como C, C ++, Objective-C, Objective-C ++, Fortran, Ada, Modula -2 y Go. Así que pasó a llamarse GNU Compiler Collection (GNU Compiler Collection). GCC no es totalmente compatible con la compilación de Java y Python, pero la implementación C subyacente de Java y Python utilizará un compilador de C.

      La intención original de GCC era escribir un compilador especialmente para el sistema operativo GNU, y ha sido adoptado como compilador estándar por la mayoría de los sistemas operativos similares a Unix (como: Linux, BSD, MacOS X, etc.).

       El soporte de GCC en la plataforma Windows no es perfecto, hay falta de compatibilidad, hay muchos problemas al desarrollar aplicaciones en Windows con GCC. El siguiente software de compilación tiene sus propias características, contiene GCC y es adecuado para la plataforma Windows.

(1) MinGW , MinGW-w64 , TDM-GCC

       MinGW, MinGW-w64 y TDM-GCC son conjuntos de compiladores (paquetes de integración de compiladores) basados ​​en GCC y adecuados para los sistemas operativos Windows.

       MinGW portó GCC a Windows, pero solo admite aplicaciones de 32 bits. MinGW-w64 se deriva de MinGW, que no solo puede admitir aplicaciones de 32 bits, sino también aplicaciones de 64 bits. TDM-GCC es un conjunto de compiladores proporcionado y mantenido por una organización no oficial que admite aplicaciones de 32 y 64 bits.

(2) Cygwin , MSYS , MSYS2

       Cygwin, MSYS y MSYS2 representan entornos que pueden ejecutarse en Windows. No son conjuntos de compiladores puros. Todos son compatibles con Windows. Por lo tanto, su GCC incorporado también se puede usar en la plataforma Windows.

       Cygwin es un entorno de simulación de UNIX (entorno virtual) que puede ejecutarse en Windows. Proporciona DLL de simulación de UNIX y una variedad de paquetes de software (incluido GCC) que se pueden encontrar en los sistemas Linux construidos sobre él, lo que permite que GCC se utilice en plataforma Windows.

       MSYS (sistema Minimal GNU (POSIX) en Windows) es un entorno GNU pequeño que puede ejecutarse en Windows. GNU está diseñado como Unix, pero no contiene código Unix protegido por derechos de autor. POSIX significa Interfaz de sistema operativo portátil de UNIX (abreviado como POSIX). Una interfaz puede entenderse como una convención para la conexión de diferentes componentes.

       MSYS2 es una versión reescrita independiente de MSYS y también es un software de Windows basado en Cygwin (POSIX) y MinGW-w64 .

       Por lo tanto, MSYS y MSYS2 también permiten el uso de GCC en la plataforma Windows.

3. Descargue e instale el paquete de compilación MinGW-w64

       Lo anterior presenta varios programas que pueden admitir GCC en la plataforma Windows. Podemos descargar el software de compilación correspondiente de acuerdo con nuestras propias necesidades. La Tabla 3-1 a continuación proporciona las direcciones de descarga del software de compilación de uso común que se puede ejecutar en la plataforma Windows.

Tabla 3-1 Software de uso común compatible con GCC en la plataforma Windows

Dirección del sitio web oficial de GCC

http://gcc.gnu.org/

Dirección del sitio web oficial de MinGW-w64

https://www.mingw-w64.org/

Dirección del sitio web oficial de TDM-GCC

https://jmeubank.github.io/tdm-gcc/

Dirección del sitio web oficial de Cygwin

https://www.cygwin.com/

Dirección del sitio web oficial de MSYS2

https://www.msys2.org/

       MinGW-w64 es de código abierto y está mantenido por una comunidad activa de código abierto Aquí, elegimos instalar el conjunto de compiladores MinGW-w64. Abra la dirección del sitio web oficial de MinGW-w64 en la Tabla 3-1, como se muestra en la Figura 3-1.

Figura 3-1 Dirección del sitio web oficial de MinGW-w64

     Haga clic en la posición de la flecha roja en la Figura 3-1 y haga clic en la opción Descargas en el menú emergente para ingresar a la página de descarga (es decir, https://www.mingw-w64.org/downloads ), el título de cadenas de herramientas y paquetes preconstruidos en esta página Los siguientes son cadenas de herramientas y paquetes de software preconstruidos, es decir, paquetes integrados que contienen herramientas específicas para GCC/Mingw-w64, y solo necesitamos descargar MinGW-w64, y puede despliegue la página hasta la ubicación Fuentes en el cuadro rojo en la Figura 3-2 .

 Figura 3-2 Enlace de descarga de MinGW-w64

    Haga clic en el enlace interno de SourceForge señalado por la flecha roja en la Figura 3-2 para ingresar a la página de descarga de MinGW-w64 (es decir, https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64 -release/ ) , como se muestra en la Figura 3-3.

Figura 3-3 Página de descarga de MinGW-w64

       Figura 3-3 El cuadro rojo es el código fuente (código fuente) descargado de MinGW-w64 en diferentes momentos y tipos, y la flecha roja es el código fuente (código fuente) del MinGW-w64 actualizado recientemente. no instaladores, por lo que no hay una carpeta bin (la carpeta bin tiene archivos ejecutables después de la instalación, necesitamos usar esta carpeta al configurar las variables de entorno).

       Necesitamos usar el archivo ejecutable de MinGW-w64 para generar la función de compilación, por lo que necesitamos descargar el instalador de MinGW-w64, después de la instalación, podemos obtener el archivo ejecutable y desplegar la página hasta la ubicación que se muestra en la Figura 3-4. Tenga en cuenta que el archivo ejecutable mencionado aquí se refiere a un archivo que ha sido compilado y procesado (también llamado archivo de código de máquina o archivo binario compuesto por código de máquina), y el código fuente mencionado anteriormente no ha sido compilado.

Figura 3-4 Instalador MinGW-w64

       En la Figura 3-4, ① y ② son la última versión de MinGW-w64. El primer cuadro rojo es para instalar MinGW-w64 en línea. Si el acceso a la red externa es lento, puede optar por descargar el paquete comprimido en el segundo cuadro rojo. Este El paquete comprimido es el archivo ejecutable generado por MinGW-w64, que se puede usar después de la descompresión. Por supuesto, no importa qué método se use, el archivo ejecutable de MinGW-w64 debe configurarse con variables de entorno antes se puede ejecutar en windows.

       Aquí elegimos descargar el paquete comprimido en el segundo cuadro rojo. Antes de descargar el paquete comprimido, debemos entender el significado de los parámetros en el nombre del paquete comprimido en el cuadro rojo ② en la Figura 3-4 La Tabla 3-2 a continuación enumera los significados de los parámetros.

Tabla 3-2 Tipos de versiones de MinGW-w64

Tipo de parámetro

parámetro

ilustrar

arquitectura de la CPU

x86_64

64 bits

i686

32 bits

Protocolo de interfaz del sistema operativo

ganar32

Desarrollar aplicaciones de Windows

positivo

Desarrollar aplicaciones para Linux , Mac

modelo de manejo de excepciones

sjlj

Versión baja, puede admitir 32 bits y 64 bits

Nueva versión, mejor rendimiento, solo admite 64 bits

enano

Nueva versión, mejor rendimiento, solo admite 32 bits

      De acuerdo a la Tabla 3-2, podemos descargar la versión x86_64-win33-seh, luego de la descompresión será el archivo ejecutable que ha sido instalado y generado, el cual equivale al primer recuadro rojo (MinGW-W64-install.exe ) en la Figura 3-4 Resultado de la instalación en línea después de la descarga.

       Además, los parámetros de la Tabla 3-2 anterior son en realidad la configuración de opciones de instalación durante la instalación en línea después de que se descarga el primer cuadro rojo (MinGW-W64-install.exe) en la Figura 3-4, y se descarga el primer cuadro rojo (MinGW-W64-install.exe). -W64-install.exe) no aparecerán aquí. Para el proceso de instalación después de descargar el cuadro, su configuración de opciones puede referirse al significado de los parámetros en la Tabla 3-2.

4. Después de la instalación de MinGW-w64, configuración de la variable de entorno de Windows ( configuración)

       Si descargamos el instalador (es decir, el primer cuadro rojo en la Figura 3-4) para instalarlo, también debemos configurar la variable de entorno (variable de entorno), pero muchos instaladores solicitarán configurar la variable de entorno durante la instalación.

       Una variable de entorno es un objeto con un nombre específico en el sistema operativo, que contiene información que usarán una o más aplicaciones. Cuando se requiere que el sistema ejecute un programa sin decirle la ruta completa donde se encuentra el programa, el sistema no solo buscará el programa en el directorio actual, sino que también irá a la ruta especificada en ruta para encontrar variables ejecutables .

       Arriba, descargamos el archivo comprimido y descomprimimos directamente la instalación de MinGW-w64. No podemos usar directamente el software compilador MinGW-w64. Necesitamos configurar la variable de entorno (variable de entorno), y necesitamos configurar el archivo ejecutable después de la instalación de MinGW-w64 como la variable de entorno del sistema, es decir, establezca la carpeta bin instalada como el valor de la variable de entorno.

        A continuación presentamos la configuración de las variables de entorno. El ícono de computadora del botón derecho del mouse se muestra en la Figura 4-1.

Figura 4-1 Propiedades de la computadora

         Haga clic en Propiedades en el menú de la Figura 4-1 para ingresar a la interfaz de configuración de la computadora en la Figura 4-2.

Figura 4-2 Configuración de la computadora

        Haga clic en la configuración avanzada del sistema en la flecha roja en la Figura 4-2 para ingresar a la interfaz de configuración del sistema en la Figura 4-3.

Figura 4-3 Propiedades del sistema

        Haga clic en la variable de entorno en la flecha roja de la Figura 4-3 para acceder a la interfaz de variables de entorno de la Figura 4-4.

Figura 4-4 Variables de entorno

       Seleccione la variable Ruta entre las variables del sistema en el cuadro rojo en la Figura 4-4 y luego haga clic en Editar en la flecha roja, o haga doble clic en la variable Ruta para ingresar a la interfaz para editar variables de entorno en la Figura 4-5.

Figura 4-5 Editar variables de entorno

         Haga clic en Nuevo en la flecha roja de la Figura 4-5 para ingresar a la interfaz de variables de entorno que se muestra en la Figura 4-6.

Figura 4-6 Crear una nueva variable de entorno

       Ingrese la ruta de instalación de MinGW-W64 como se muestra en la Figura 4- 6. La ruta debe contener el directorio bin, es decir, generalmente ...\mingw64\bin.

         El directorio bin contiene archivos ejecutables como cpp.exe, gcc.exe, g++.exe, gdb.exe, entre los cuales cpp.exe es el preprocesador, g++/gcc.exe es el compilador, gdb.exe es el depurador, así como .exe es el ensamblador y ld.exe es el enlazador.

       Después de completar la entrada de la nueva variable de entorno, haga clic en Aceptar.Después de completar todas las confirmaciones, la configuración de la variable de entorno es exitosa. Al llamar, cuando no se especifica la ruta, el sistema ingresará automáticamente la llamada de coincidencia de ubicación configurada.

       Una vez completada la configuración anterior, usamos la tecla de acceso directo win+r (es decir, Windows+R) para abrir la ventana en ejecución, ingresar cmd y confirmar, abrir la ventana de comando cmd, ingresar gcc -v en la ventana de comando y ver la información de la versión de gcc, para que pueda Determinar si gcc está instalado y la configuración de la variable de entorno es exitosa. v puede entenderse como la abreviatura de versión. Como se muestra en la Figura 4-7, la instalación y la configuración son exitosas.

Figura 4-7 Información de la versión de gcc

       En este punto, se completa la instalación de MinGW-W64, es decir, se completa la configuración de la variable de entorno y se puede usar el compilador para el desarrollo de programas C/C++ en Windows.

5. El funcionamiento del compilador y su relación con el entorno de desarrollo integrado, y la fuente del compilador

(1) El funcionamiento del compilador y su relación con el entorno de desarrollo integrado

       El compilador está compuesto de archivos, y también necesitamos herramientas para ejecutar estos archivos ejecutables, es decir, llamar al compilador para compilar, para realizar la función de desarrollo del programa. cmd es una herramienta de operación de línea de comandos del sistema Windows.Los usuarios pueden completar varias operaciones del sistema o del programa ingresando comandos.

        Para cualquier lenguaje de programación, siempre que el compilador de este lenguaje de programación esté instalado, podemos usar un editor de texto (archivo txt) para escribir el código y luego guardarlo en el formato del lenguaje de programación (es decir, cambiar el . txt al sufijo del lenguaje de programación), puede llamar al compilador de este lenguaje de programación a través de la ventana del símbolo del sistema cmd para ejecutar el archivo de código escrito. El paquete del compilador MinGW-W64 que instalamos arriba es adecuado para la plataforma de Windows Podemos usar el símbolo del sistema de Windows cmd.exe para ejecutar el compilador para el desarrollo del programa C/C++.

       cmd para ejecutar el código del programa C/C++ consulte Windows cmd para ejecutar el compilador (cmd para ejecutar C/C++) .

       En Windows, además del método de invocar el compilador mediante el comando CMD anterior , también podemos usar la herramienta del entorno de desarrollo integrado (Integrated Development Environment, IDE para abreviar) para ejecutar el compilador para el desarrollo del código del programa.

       Las herramientas del entorno de desarrollo integrado son un conjunto de herramientas que pueden ayudarnos a mejorar la eficiencia del desarrollo del lenguaje (como: edición de código, depuración, resaltado de sintaxis, intellisense, etc.), lo que puede mejorar la eficiencia de gestión y desarrollo de proyectos. Después de configurar el compilador (es decir, llamar al compilador) en la herramienta del entorno de desarrollo integrado, se puede realizar el desarrollo del código del programa basado en el compilador.El compilador proporciona la función de traducción del lenguaje de programación y solo la herramienta del entorno de desarrollo integrado. proporciona la función de desarrollar el programa. La función auxiliar de conveniencia, simplemente hablando, el entorno de desarrollo integrado es una herramienta auxiliar para nuestra programación, que es conveniente para nosotros escribir código, pero es el compilador el que realmente realiza la ejecución del programa. programa, y ​​el entorno de desarrollo integrado llamará al compilador para ejecutar el programa.

       Los lenguajes de programación (C/C++, Java, Python, Matlab, etc.) generalmente se desarrollan con la ayuda de un entorno de desarrollo integrado (IDE), que puede mejorar la eficiencia de la escritura de código.Algunos lenguajes de programación tienen su propio IDEs, por ejemplo: python tiene su propio La herramienta IDLE viene con él, pero es un IDE simple y su funcionamiento tiene limitaciones, por lo tanto, otros IDE (como: pycharm) se usan generalmente para escribir código.La interfaz iniciada por matlab.exe es un IDE incorporado (de manera predeterminada, la compilación de matlab se llama dispositivo), este IDE tiene funciones más completas, por lo que el uso del lenguaje matab generalmente usa su propio IDE.

       Aunque el editor de código de VS Code se posiciona como un editor, en realidad tiene las funciones básicas de una herramienta de entorno de desarrollo integrado. Debido a que es gratuito, es muy popular entre los usuarios y se puede usar en C/C++, Java, Python y otros. desarrollo del programa. También podemos usar las herramientas de VS Code para el desarrollo de C/C++; consulte el último tutorial detallado de instalación de VS Code .

(2) La fuente del compilador

       Mencionamos anteriormente el código fuente (source code), es decir, el código que escribimos de acuerdo con la especificación del lenguaje, y también es un código sin compilar, que solo puede ejecutarse después de que un compilador lo traduzca a código de máquina. Entonces, después de que nació un lenguaje de programación, no tenía un compilador, ¿cómo funcionaba? Al principio, se ejecutó con la ayuda de otros compiladores, y luego se escribió un archivo de código fuente del compilador de acuerdo con este lenguaje, y los compiladores en otros lenguajes compilaron los archivos de código fuente del compilador escritos en este lenguaje en archivos ejecutables. mejora, finalmente nació El compilador ejecutable de este lenguaje (archivo ejecutable, es decir, un archivo compuesto de código de máquina, la computadora puede ejecutar de acuerdo con el código de máquina).

       Cuando nació la computadora, las funciones iniciales de la computadora eran muy simples, por lo tanto, los humanos usaban el compilador inicial para traducir las oraciones escritas por humanos a lenguaje de máquina para que la máquina las ejecutara. Sin embargo, con la mejora de las funciones de la computadora, la cantidad de instrucciones de la máquina continúa aumentando. Es fácil cometer errores, el trabajo es engorroso y es difícil para los humanos hacer el trabajo de traducción. Especialmente cuando hay una programación estándar especificación del lenguaje, es aún más necesario para una persona que puede traducir el lenguaje de programación.La operación automática de traducción del lenguaje en código de máquina.

       En respuesta a esta situación, junto con el desarrollo del lenguaje ensamblador a partir del lenguaje de máquina, los trabajadores informáticos comenzaron a usar código de máquina para implementar un compilador para compilar (traducir) el código fuente del lenguaje ensamblador a código de máquina para la ejecución de la máquina. De esta manera, el código ensamblador puede ejecutarse en la máquina y luego puede escribir un archivo de código fuente del compilador sobre usted en lenguaje ensamblador y dejar que el compilador implementado por el código máquina compile el archivo de código fuente del compilador escrito en lenguaje ensamblador en un ejecutable. y luego, a través de la mejora continua, finalmente nace el archivo compilador ejecutable de este lenguaje ensamblador, que también realiza el compilador del lenguaje en sí mismo en un lenguaje de programación, que también se llama este lenguaje de programación Bootstrapping.

       De la misma manera, cuando nacen otros lenguajes, se puede generar un compilador ejecutable para ese lenguaje con la ayuda de un compilador de lenguaje ensamblador. Por ejemplo: lenguaje ensamblador → lenguaje B → lenguaje C, el lenguaje c se puede arrancar a través del compilador del lenguaje ensamblador para generar el compilador del lenguaje c, y luego el código del lenguaje c se puede compilar con su propio compilador c y traducirlo al código de la máquina. que la cpu puede ejecutar, para realizar la operación del código de lenguaje c.

       El lenguaje C está relativamente cerca de la capa inferior de la máquina y es más adecuado para la lectura humana. Debido a que está cerca de la capa inferior de la máquina, tiene ventajas en la operación del hardware y una velocidad de ejecución rápida. Por lo tanto, el lenguaje C es naturalmente afirmado por los usuarios, y el compilador de C también es utilizado por otros lenguajes.Compiladores comparables.

       Por tanto, el compilador es desarrollado paso a paso por personas, código máquina, ensamblador, c, etc. Los lenguajes de programación que nacen se apoyan en los compiladores de los lenguajes que han nacido para lograr el bootstrapping (Bootstrapping) y generar sus propios compiladores.

El último tutorial detallado de instalación de VS Code:

https://blog.csdn.net/thefg/article/details/131752996

Windows cmd ejecuta el compilador (cmd ejecuta C/C++):

https://blog.csdn.net/thefg/article/details/132017498

¡Finalmente, le invitamos a que le guste, marque como favorito y siga!

Supongo que te gusta

Origin blog.csdn.net/thefg/article/details/131916203
Recomendado
Clasificación