Herramientas de usuario

Herramientas del sitio


cpp-avanzado:opciones-gcc

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cpp-avanzado:opciones-gcc [2017/11/26 02:41]
santo
cpp-avanzado:opciones-gcc [2023/11/29 15:14] (actual)
santo
Línea 10: Línea 10:
 Una vez abierto Geany, vamos al menú “Construir” / “Build”,​ y seleccionamos “Configurar Comandos de Construcción” / “Set Build Commands”. Allí reemplazamos el valor de la columna “Comando” / “Command” de la fila “Compilación” / “Compile” (Sección C++ commands) por la siguiente línea completa: Una vez abierto Geany, vamos al menú “Construir” / “Build”,​ y seleccionamos “Configurar Comandos de Construcción” / “Set Build Commands”. Allí reemplazamos el valor de la columna “Comando” / “Command” de la fila “Compilación” / “Compile” (Sección C++ commands) por la siguiente línea completa:
  
-g++ -std=c++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -c %f+<code cpp> 
 +g++ -std=gnu++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -c "%f
 +</​code>​
  
 Hacemos lo mismo con la línea que está inmediatamente debajo, “Construcción” / “Build”,​ reemplazándola por lo siguiente: Hacemos lo mismo con la línea que está inmediatamente debajo, “Construcción” / “Build”,​ reemplazándola por lo siguiente:
  
-g++ -std=c++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -o %e” “%f+<code cpp> 
 +g++ -std=gnu++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -o "%e" "%f
 +</​code>​
  
-Cerramos la ventana presionando “Aceptar” / “Ok”. Con esto ya tenemos el entorno completamente configurado,​ y estamos listos para crear programas en Geany.+Cerramos la ventana presionando “Aceptar” / “Ok”. ​ 
 + 
 +**¡LISTO!:​-D** 
 + 
 +Con esto ya tenemos el entorno completamente configurado,​ y estamos listos para crear programas en Geany.
  
 ===== Explicación detallada de las opciones agregadas ===== ===== Explicación detallada de las opciones agregadas =====
Línea 22: Línea 30:
 **La siguiente información no es necesaria en absoluto para programar**. Conocer exactamente qué efecto tiene cada una de las opciones anteriores no es importante en una primera etapa. **La siguiente información no es necesaria en absoluto para programar**. Conocer exactamente qué efecto tiene cada una de las opciones anteriores no es importante en una primera etapa.
  
-No obstante, para el beneficio de programadores avanzados de C++, se resume a continuación una explicación de cada opción propuesta.+No obstante, para el beneficio de programadores avanzados de C++ 8-), se resume a continuación una explicación de cada opción propuesta.
  
-  * ''​-std=c++11''​ : Esta opción permite utilizar [[cpp-avanzado:​c_11| C++11]], y hoy en día casi todas las competencias de programación ​lo utilizan.+  * ''​-std=gnu++11''​ : Esta opción permite utilizar [[cpp-avanzado:​c_11| C++11]], y hoy en día casi todas las competencias de programación utilizan ​C++11 o superior.
   * ''​-g''​ : Retiene información de símbolos de debugging en el ejecutable final. Esto significa que se puede ver qué funciones se están ejecutando al utilizar un debugger o ante un [[https://​en.wikipedia.org/​wiki/​Core_dump|"​core dump"​]]. Generalmente es irrelevante si no se utilizan debuggers.   * ''​-g''​ : Retiene información de símbolos de debugging en el ejecutable final. Esto significa que se puede ver qué funciones se están ejecutando al utilizar un debugger o ante un [[https://​en.wikipedia.org/​wiki/​Core_dump|"​core dump"​]]. Generalmente es irrelevante si no se utilizan debuggers.
   * ''​-O2''​ : Le indica al compilador que optimice el código "con nivel de optimización 2".   * ''​-O2''​ : Le indica al compilador que optimice el código "con nivel de optimización 2".
Línea 34: Línea 42:
      * Muchas veces, esto ocurre como consecuencia de un bug, así que es muy bueno que el compilador nos advierta al respecto. ​      * Muchas veces, esto ocurre como consecuencia de un bug, así que es muy bueno que el compilador nos advierta al respecto. ​
      * Aún cuando no es un bug, generalmente es propenso a errores usar el mismo nombre para la variable global y la variable local, así que es buena idea cambiar uno de los dos nombres.      * Aún cuando no es un bug, generalmente es propenso a errores usar el mismo nombre para la variable global y la variable local, así que es buena idea cambiar uno de los dos nombres.
-  * ''​-Wall''​ : Activa varios "​warnings"​ del compilador extremadamente útiles para detectar errores comunes. +  * ''​-Wall''​ : Activa varios "​warnings"​ del compilador extremadamente útiles para detectar errores comunes. Pese a su nombre ("​all"​) no activa todos los warnings existentes
-     * Por ejemplo, cosas como olvidarse el ''​return''​ en una [[curso-cpp:​modularizacion-funciones|función]],​ o no utilizar una variable (lo que suele indicar que nos olvidamos algo).+     * Por ejemplo, cosas como olvidarse el ''​return''​ en una [[curso-cpp:​modularizacion-funciones|función]],​ o no utilizar ​nunca una determinada ​variable (lo que suele indicar que nos olvidamos algo).
      * También detecta algunos casos de [[https://​en.wikipedia.org/​wiki/​Undefined_behavior|"​undefined behaviour"​]] en tiempo de compilación.      * También detecta algunos casos de [[https://​en.wikipedia.org/​wiki/​Undefined_behavior|"​undefined behaviour"​]] en tiempo de compilación.
   * ''​-Wextra''​ : Activa aún más "​warnings"​ que la opción anterior   * ''​-Wextra''​ : Activa aún más "​warnings"​ que la opción anterior
cpp-avanzado/opciones-gcc.1511664110.txt.gz · Última modificación: 2017/11/26 02:41 por santo