Tabla de contenido:
- Usar carácter de tabulación
- resaltado de sintaxis
- Formateador de código fuente
- Abreviaturas de código
- Por ejemplo, en el programa Budget5 que se incluye con el material descargable de Dummies. com, si ingresas
- Sin embargo, hay algunas cosas (en realidad, bastantes) que el compilador GNU C ++ corregirá y continuará sin comentarios, si así lo desea. Por ejemplo, no es un error definir una variable en una función y nunca usarla. O para poner un retorno en el medio de una función para que las líneas de código después de la devolución nunca se puedan ejecutar. Estos no son errores, pero se ven muy extraños para un compilador desconfiado.
- Puede crear fácilmente un objetivo de compilación de depuración y un objetivo de compilación de versión cuando crea el proyecto; deje que el asistente haga todo el trabajo por usted. Sin embargo, muy a menudo sucede que después de semanas de trabajar y depurar un proyecto, vas a lanzarlo solo para descubrir que no hay un objetivo de compilación de versión. No se preocupe, siempre puede crear un nuevo objetivo de compilación por su cuenta.
- Considere el siguiente ejemplo trivial y completamente inventado (pero inteligente):
- Para deshabilitar la información de depuración en el objetivo de compilación de versión, seleccione Proyecto → Opciones de compilación, y luego seleccione el objetivo de versión a la izquierda. Ahora asegúrese de hacer clic en la opción Produce Debugging Symbols [-g] para el objetivo de lanzamiento. (Ahora es un buen momento para asegurarse de que se haga clic en esta misma opción para el objetivo de compilación Debug).
- Seleccionar proyecto → Establecer programas 'Argumentos.
Video: Cómo bloquear las anotaciones en Notas de Apple con código 2024
Code:: Blocks viene con configuraciones predeterminadas que son las más naturales para la mayoría de las aplicaciones C ++; sin embargo, a medida que comienza a pasar más y más tiempo en el entorno, puede encontrar que Code:: Blocks puede ser un lugar más amigable con solo algunos ajustes.
Usar carácter de tabulación
O más específicamente, no use carácter de tabulación. Esta configuración no hace ninguna diferencia si está trabajando en un proyecto en el cual todos siempre estarán usando Code:: Blocks. El problema con los caracteres de pestañas, sin embargo, es que los diferentes editores tienden a interpretar las pestañas de manera diferente. Algunos editores mueven el cursor a la siguiente tabulación, algunos editores mueven el cursor sobre un número de caracteres, y no todos los editores acuerdan cuántos caracteres asignar para una pestaña. Afortunadamente, todos los editores interpretan los espacios de la misma manera, por lo que es mucho más seguro decirle al Código: Bloquea el editor para que siempre use espacios y nunca guarde pestañas en los archivos fuente. Para hacerlo, seleccione Configuración → Editor. Ahora seleccione Configuración general a la izquierda y asegúrese de que Usar carácter TAB esté desactivado.
resaltado de sintaxis
resaltado de sintaxis cambia los colores de diferentes tipos de estructuras, utilizando un color para palabras clave, un color diferente para nombres de variables, un tercero para cadenas de caracteres, etc. Esto es muy útil para evitar errores tontos mientras escribe. Por ejemplo, si escribe mal una palabra clave, no aparecerá en el color de la palabra clave. Para habilitar esta función, seleccione Configuración → Editor → Resaltado de sintaxis. Normalmente Code:: Los bloques pueden distinguir el idioma de la extensión del nombre del archivo. Si está utilizando una extensión de archivo no estándar, asegúrese de agregarla a la lista seleccionando Máscaras de archivo. Además, puede ajustar las opciones de resaltado de sintaxis de esta ventana para ajustarse mejor a sus necesidades. Esto es particularmente importante si tiene algún tipo de problema de visión, especialmente cualquier forma de daltonismo.
Formateador de código fuente
Esto podría estar pasado de moda, pero un buen programador debería mostrar un poco de orgullo en la apariencia de su código. Esto requiere la creación y el cumplimiento constante de un estándar de codificación. Incluso más que eso, cuando se trabaja en un equipo grande, todos deberían usar el mismo estándar de codificación. De lo contrario, el código parece desordenado, ya que los módulos escritos por una persona tienen una apariencia, mientras que los escritos por un compañero de equipo tienen una apariencia diferente, muy poco profesional.
Forzar el cumplimiento de un estándar de formato de codificación es fácil en el Código:: Bloques. Su editor de código reformateará su código para adaptarse a cualquier estándar deseado.
El Code:: Blocks formateador de código fuente no ajustará los nombres de las variables. Peor aún, no tocará la lógica de tu programa. Entonces, si escribes un código malicioso, no lo culpes al Código: editor de bloques.
Seleccione Configuración → Editor y luego seleccione Formateador de origen de la lista que aparece para obtener una ventana que se parece a la Figura 1. La ventana de vista previa le muestra cómo se verán sus elecciones en la práctica. Este ejemplo sigue el estándar ANSI, pero puede elegir entre muchos otros estándares comunes, o puede seleccionar Personalizado y luego hacer clic en las pestañas Sangría y Formato para crear su propio estándar.
Figura 1: Configurar el formateador de código fuente puede ayudarlo a aplicar un estilo de codificación uniforme.Una vez que haya seleccionado un estándar, el editor intentará persuadirlo para que use ese estándar. Por ejemplo, si ingresa if (true) y luego presiona Enter, el editor colocará el cursor en la ubicación sangrada debajo de si . Si luego ingresa un corchete abierto, el editor lo respaldará, coloque el corsé alineado con el i en si , pasa a la siguiente línea, y sangrar más.
Aún mejor, una vez que haya terminado de codificar, si selecciona Conectar → Formateador de código fuente (AStyle), el editor revisará su módulo y volverá a aplicar el estándar del código fuente actual. Entonces, si su compañero de trabajo no fue tan cuidadoso con su programación como lo fue usted, no se preocupe: unos pocos clics del mouse y todo se limpia.
Abreviaturas de código
Esta es una opción extraña. Si codifica mucho (léase: mucho ! ), las abreviaturas de los códigos pueden ahorrarle tiempo, especialmente si no es un buen mecanógrafo. Abreviaturas de código le permite ingresar una palabra de código y luego presionar Ctrl + J, y listo, el editor de Código:: Bloques ingresará la plantilla predefinida correspondiente que luego completará.
Por ejemplo, si ingresara > clase en la copia de Código:: Bloques y luego ingresado Ctrl + J, Código:: Bloques primero le preguntará el nombre de su clase y luego completará todo lo que se muestra en la Figura 2. < Figura 2: El uso de la abreviatura del código fuente puede ahorrarle mucho tiempo si puede recordar usarlo. Código:: Blocks viene con un conjunto de abreviaturas ya definidas, pero puede agregar todas las abreviaturas que desee seleccionando Configuración → Editor y luego seleccionando la opción Abreviaturas en el lado izquierdo de la ventana.
Lo bueno de la abreviatura de código es que puede ahorrar mucho tipeo y aplica automáticamente el estándar de formato de código fuente que seleccione. Un mecanógrafo muy rápido (¿o sería un keyboarder?) Puede no sacarle partido a esta función, pero si no usa los diez dedos cuando escribe o está lento en el teclado, probablemente quiera usar característica.Autocompletar
Código:: Blocks tiene esta genial característica llamada Autocompletar. Después de haber ingresado un número mínimo de letras (el valor predeterminado es cuatro, pero lo cambia), si hace una pausa al escribir, Code:: Blocks buscará todas las cosas que comiencen con esas letras.De esta forma, Code:: Blocks puede anticipar qué es lo que intentas decir.
Por ejemplo, en el programa Budget5 que se incluye con el material descargable de Dummies. com, si ingresas
Acco
y luego pausas solo medio segundo (¡no es muy largo!) aparece una ventana como se muestra en la Figura 3 que ofrece las dos únicas cosas que Code:: Blocks conoce en este programa que comienza con Acco: la clase Cuenta y la typedef AccountPtr . Como querías decir Cuenta , simplemente puedes presionar Enter y se llenará esto por mí. Figura 3: Código: Blocks encuentra solo dos coincidencias para Acco en este programa. El primero es lo que estaba buscando. En este ejemplo, está creando un puntero a una
Cuenta llamada pAcc . Cuando vuelva a escribir pAcc -> y luego pause, Code:: Blocks abre una ventana con los miembros públicos de Cuenta como se muestra en la Figura 4. Figura 4: Dado un objeto, Code:: Blocks encontrará los miembros públicos accesibles desde ese objeto. Esta es una característica interesante cuando se refiere a sus propias clases. Más que nada, seleccionar de la lista significa que no escribe el nombre de la función incorrecto o mal escrito.
Esta característica realmente se vuelve interesante cuando ingresas un objeto que está definido en una biblioteca. Por ejemplo, si ingresascout., obtendrá una lista de los miembros públicos disponibles para el objeto cout . Esto puede ser útil cuando no tienes documentación o simplemente no sabes por dónde empezar. Habilitar todas las advertencias Habilitar todas las advertencias es una obviedad. Los errores que aparecen en el momento de la compilación son mucho más fáciles de encontrar (¡duh!) Y arreglos que aquellos que tiene que buscar por sí mismo en tiempo de ejecución. Es por eso que la sintaxis de C ++ es tan exigente: quiere asegurarse de que haya codificado exactamente lo que pretendía antes de que se active y crea un ejecutable que hace algo completamente diferente.
Sin embargo, hay algunas cosas (en realidad, bastantes) que el compilador GNU C ++ corregirá y continuará sin comentarios, si así lo desea. Por ejemplo, no es un error definir una variable en una función y nunca usarla. O para poner un retorno en el medio de una función para que las líneas de código después de la devolución nunca se puedan ejecutar. Estos no son errores, pero se ven muy extraños para un compilador desconfiado.
El compilador de GNU generará una advertencia si ve cualquiera de estos dos casos o cualquiera de las docenas de otras construcciones sospechosas en su código. Debería repasar cada advertencia para asegurarse de que comprende de qué se queja el compilador y por qué. Intenta solucionar el problema si puedes pero también lo entiendes aunque elijas no solucionarlo.
Las advertencias descubrirán una gran cantidad de errores que están a punto de convertirse en errores en sus programas.
Creación de un nuevo objetivo de compilación
El entorno Código:: Bloques le permite crear más de un objetivo de compilación. Un objetivo de compilación le permite crear un ejecutable independiente con configuraciones de compilación únicas.Por ejemplo, definitivamente desearía incluir información de símbolos en el archivo ejecutable que utiliza para la depuración, pero no en la que tiene previsto enviar a los clientes (consulte más abajo para obtener más información).
Puede crear fácilmente un objetivo de compilación de depuración y un objetivo de compilación de versión cuando crea el proyecto; deje que el asistente haga todo el trabajo por usted. Sin embargo, muy a menudo sucede que después de semanas de trabajar y depurar un proyecto, vas a lanzarlo solo para descubrir que no hay un objetivo de compilación de versión. No se preocupe, siempre puede crear un nuevo objetivo de compilación por su cuenta.
Para crear un nuevo objetivo de compilación, seleccione Proyecto → Propiedades, luego seleccione la pestaña Generar objetivos. Verá algo que se parece a la Figura 5, que muestra el programa Budget5 con un solo objetivo de compilación Debug.
Figura 5: una de las propiedades del proyecto es la lista de objetivos de compilación.
Use los siguientes pasos para crear un objetivo de compilación de versión:
Seleccione el objetivo de depuración y haga clic en Duplicar.Ingrese el nombre del nuevo objetivo de compilación, Versión.
-
Cambie el nombre del archivo de salida a binReleaseBudget5. exe y el directorio de salida de objetos a objRelease.
-
Haz clic en Opciones de compilación para establecer las opciones de compilación que quieras para este objetivo en particular y haz clic en Aceptar.
-
Definitivamente querrá desactivar la información del símbolo y activar la optimización.
-
Haga clic en Aceptar para guardar el nuevo objetivo de compilación.
Para crear un objetivo de construcción particular, seleccione Generar → Seleccionar objetivo, y luego elija entre los objetivos disponibles. Esto dirige Código: Bloquea qué ejecutable quieres crear cuando seleccionas construir.
-
Proyecto: habilite optimizaciones
Puede pensar que cada línea de código C ++ genera un conjunto de instrucciones de máquina sin tener en cuenta las líneas de código que lo rodean, y en el modo no optimizado estaría en lo cierto. El optimizador incorporado en el compilador de GNU puede generar un programa más eficiente a partir de su fuente de C ++ al buscar en varias líneas de código.
Considere el siguiente ejemplo trivial y completamente inventado (pero inteligente):
// i ++; MOV EAX, i [BP] INC EAX MOV i [BP], EAX // fn (i) MOV EAX, i [BP] PUSH EAX CALL FN
Aquí la línea
i ++
se convirtió en la tres líneas de código máquina que siguen: Cargue el valor de i
-
en el registro EAX. Incremente el registro EAX. Almacene el valor incrementado nuevamente en
-
i
-
. La siguiente línea convierte la llamada fn (i)
en lo siguiente. Cargue el valor de i
-
en el registro EAX. Presione el valor de EAX en la pila. Hacer la llamada.
-
Observe que el paso 4 es realmente innecesario. No es necesario cargar el valor de
-
i
en el registro EAX porque el valor ya está allí desde los Pasos 1, 2 y 3. Incluso un optimizador mediocre notaría este hecho y no generaría el segundo MOV EAX, i [BP] . Esto no es un gran ahorro, pero este ejemplo es fácil de entender, incluso si no es una gran mejora. Tendría que ser un verdadero genio en el lenguaje ensamblador para comprender la mayoría de las optimizaciones que hace el compilador GNU. Puede habilitar optimizaciones para una compilación en particular seleccionando Proyecto → Opciones de compilación, luego seleccionando Liberar compilación a la izquierda y seleccionando una de las opciones de optimización.
Técnicamente, hay varias opciones de optimización porque el optimizador puede llevar mucho tiempo. Si tiene un proyecto muy grande, no tiene mucho sentido dedicar mucho tiempo a optimizar un módulo que no se ejecutará con mucha frecuencia. Para proyectos de tamaño pequeño a mediano, solo habilite la optimización completa; no notará los pocos segundos adicionales que lleva compilar.
Puede habilitar esta opción para todas las construcciones seleccionando Configuración → Compilador, luego seleccionando la pestaña Compilador y seleccionando uno de los casos de Optimize; Sin embargo, esta no es una buena idea. No habilite la optimización en la versión de depuración del proyecto si planea usar el depurador. Los cambios en el código que realiza el optimizador harán que el programa parezca dar un salto en una caminata semialeatoria cuando trates de atravesarlo.
Proyecto - deshabilitar los símbolos del depurador
La información del símbolo se incluye en el ejecutable únicamente para el uso del depurador. Esta información no debe incluirse en la versión que envía a los usuarios: aumenta innecesariamente el tamaño del ejecutable y, lo que es peor, emite información peligrosa a los piratas informáticos si se trata de encontrar una vulnerabilidad en su programa.
Para deshabilitar la información de depuración en el objetivo de compilación de versión, seleccione Proyecto → Opciones de compilación, y luego seleccione el objetivo de versión a la izquierda. Ahora asegúrese de hacer clic en la opción Produce Debugging Symbols [-g] para el objetivo de lanzamiento. (Ahora es un buen momento para asegurarse de que se haga clic en esta misma opción para el objetivo de compilación Debug).
Proyecto: configuración de los argumentos de un programa
Algunos programas deben ejecutarse con argumentos de línea de comando. Código:: Blocks proporciona el siguiente mecanismo para proporcionar argumentos de línea de comandos cuando se ejecuta un programa de este tipo desde el Código:: Entorno de bloques:
Seleccionar proyecto → Establecer programas 'Argumentos.
Seleccione el objetivo de compilación en la ventana superior.
-
Ingrese lo que quiera en la ventana Argumentos del programa.
-
Seleccione Aceptar para cerrar la ventana.
-
Cuando ingresa Inicio o Ejecutar, Code:: Blocks proporcionará estos argumentos a su programa.