Freshers Aptitude technical questions
Freshers Job Alert
Bookmark and Share

•  Project Compile Options

Compile to P-Code

Compiles a project using p-code. The settings stored in the .vbp file are overridden.

Compile to Native Code

Compiles a project using native code with selected optimizations. The settings stored in the .vbp file are overridden.

  • Optimize for Fast Code — Maximizes the speed of the .exe and .dll files by instructing the compiler to favor speed over size. The compiler can reduce many constructs to functionally similar sequences of machine code. In some cases, the differences offer a trade off of size versus speed.
  • Optimize for Small Code — Minimizes the size of the .exe and .dll files by instructing the compiler to favor size over speed. The compiler can reduce many constructs to functionally similar sequences of machine code. If you do not select this option, you may have code that is larger in size but faster.
  • No Optimization — Compile without optimizations.
  • Favor Pentium Pro™ — Optimizes the code created to favor the Pentium Pro™ processor. Use this option for programs meant only for the Pentium Pro ™ processor. Code generated with this option will still run on earlier processors but it does not perform as well.
  • Create Symbolic Debug Info — Generates symbolic debug information in the executable or DLL file. An executable file created using this option can be debugged using Visual C++ or debuggers that use CodeView style of debug information. Setting this option generates a .pdb file with the symbol information for your executable.

Assume No Aliasing

Tells the compiler that your program does not use aliasing. Aliasing provides a name that refers to a memory location that is already referred to by a different name. Using this option allows the compiler to apply optimizations that it could not otherwise use, for example storing variables in registers and performing loop optimizations. This occurs when using ByRef arguments. For example:

Dim y as integer Sub Foo(x as integer) x=5 'Code is referring to the same variable (the y=6 'global y)via two different names End Sub Sub Main Foo y End Sub

Remove Array Bound Checks

By default in Visual Basic, a check is made on every access to an array to determine if the index is within the range of the array. If the index is not within array bounds an error message is displayed. Selecting this option turns off the array bounds error checking and removes checks for the correct number of dimension of the array.

Note    This may speed up array manipulation but invalid memory locations may be accessed and result in unexpected behavior or program crashes.

Remove Integer Overflow Checks

By default in Visual Basic, a check is made on every calculation for integer-style data types – byte, integer, and long – to be sure that the value is within the range of the data type. If the magnitude of the value being put into the data type is incorrect an error occurs. Selecting this option turns off the error checking which can speed up integer calculations. However, if data type capacities are overflowed, no error occurs and you may get incorrect results.

Remove Floating Point Error Checks

By default in Visual Basic, a check is made on every calculation of a floating point data type – Singe and Double – to be sure that the value is within range for that data type and that there are no divide by zero or invalid operations. If the magnitude of the value being put into the data type is incorrect, an error occurs.  Selecting this option turns off the error checking which can speed up floating [point calculations.  However, if data type capacities are overflowed, not error occurs and you may get incorrect result.

Allow Unrounded Floating Point Operations

When selected, allows the compiler to:

  • Use floating point registers more efficiently
  • Avoid loads and stores from memory
  • Do floating point comparisons more efficiently

Note    Using this option may result in calculations being maintained to a higher precision than expected and may cause the comparison of two floating point values to show them unequal when you expect them to be equal.

Remove Safe Pentium™ FDIV Checks

Removes the checking so that the code for floating point division is faster and smaller but may produce slightly incorrect results on Pentium™ processors with the FDIV bug. If cleared, the code generated for floating point division operations is not affected by the FDIV bug on Pentium™ processor.