NekroAyuda: Optimizar aplicaciones II: Modificadores del compilador

<< < (2/3) > >>

NekroByte:
Generar información de depuración simbólica

Genera información de depuración visible en el código dentro del archivo ejecutable compilado.

Los programas compilados a código nativo mediante esta opción se pueden depurar con Visual C++ 5.0, superior u otro depurador compatible. La activación de esta opción genera un archivo .pdb con la información simbólica requerida para usar con depuradores simbólicos compatibles.

NekroByte:
Sin alias para las variables

Indica al compilador que el programa no utiliza alias.

Un alias es un nombre que hace referencia a una ubicación de memoria a la que ya se hizo referencia mediante un nombre diferente. Esto ocurre cuando se utilizan argumentos ByRef que hacen referencia a la misma variable de dos maneras. Por ejemplo:

Código:

Sub Foo(x as Integer, y as Integer)
   x = 5   ' El código hace referencia a la misma
         ' variable (la variable local z en Main)
   y = 6   ' a través de dos nombres distintos, x e y.
End Sub
Sub Main
   Dim z as Integer
   Foo z,z
End Sub

El uso de esta opción permite al compilador aplicar optimizaciones que no podría aplicar de otra manera, como almacenar variables en registros y realizar optimizaciones por medio de bucles. Sin embargo, debe tener cuidado de no activar esta opción si el programa pasa argumentos ByRef, ya que las optimizaciones pueden hacer que el programa no funcione bien.

NekroByte:
Quitar comprobaciones de límites en matrices

Desactiva la comprobación de errores en los índices válidos y en el número correcto de dimensiones de las matrices.

De forma predeterminada, Visual Basic efectúa una comprobación cada vez que se tiene acceso a una matriz para determinar si el índice se encuentra dentro del intervalo de la matriz. Si el índice se encuentra fuera de los límites de la matriz, se produce un error. Seleccionar esta opción desactiva esta comprobación, lo que favorece la velocidad de manipulación de las matrices. Sin embargo, si el programa tiene acceso a una matriz con un índice que está fuera de los límites, es posible que tenga acceso a ubicaciones de memoria no válidas sin obtener ninguna advertencia. Esto puede provocar un comportamiento inesperado o fallos del programa.

NekroByte:
Quitar comprobaciones de desbordamiento con enteros

Desactiva la comprobación de errores de que la asignación de valores numéricos válidos a variables enteras se encuentra dentro del intervalo correcto para el tipo de datos.

De forma predeterminada, Visual Basic comprueba en cada cálculo que se efectúa sobre una variable del tipo de datos entero (Byte, Integer, Long y Currency), si el valor resultante se encuentra dentro del intervalo de ese tipo de datos. Si el valor tiene una magnitud errónea, se produce un error. Seleccionar esta opción desactiva esta comprobación de errores, lo que aumenta la velocidad de los cálculos con números enteros. Sin embargo, si se desborda la capacidad de este tipo de datos, no se devolverán errores y pueden producirse resultados incorrectos.

NekroByte:
Quitar comprobaciones de errores en aritmética de punto flotante

Desactiva la comprobación de que la asignación de valores numéricos a variables se encuentra dentro del intervalo correcto para el tipo de datos y la de que no se realicen divisiones por cero ni otras operaciones no válidas.

De forma predeterminada, Visual Basic comprueba en cada cálculo que se efectúa sobre una variable de los tipos de datos con punto flotante (Single y Double), si el valor resultante se encuentra dentro del intervalo del tipo de datos. Si el valor tiene una magnitud errónea, se produce un error. También realiza una comprobación para determinar si se intenta realizar divisiones por cero u otras operaciones no válidas. Seleccionar esta opción desactiva estas comprobaciones, lo que aumenta la velocidad de los cálculos con punto flotante. Sin embargo, si se desbordan las capacidades de estos tipos de datos, no se devuelven errores y pueden producirse resultados incorrectos.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior