Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
cpp-avanzado:opciones-gcc [2017/11/26 02:41] santo |
cpp-avanzado:opciones-gcc [2017/11/26 02:44] santo |
||
---|---|---|---|
Línea 16: | Línea 16: | ||
g++ -std=c++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -o “%e” “%f” | g++ -std=c++11 -g -O2 -Wconversion -Wshadow -Wall -Wextra -D_GLIBCXX_DEBUG -o “%e” “%f” | ||
- | 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 26: | ||
**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=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. | ||
Línea 34: | Línea 38: | ||
* 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 |