/*
 * $Id: pragma.txt 6073 2003-07-13 16:24:32Z alex_degarate $
 */

/*
 * Las siguientes partes son derechos adquiridos de sus autores individuales.
 * www - http://www.harbour-project.org
 *
 * Copyright 2001 Jose Lalin <dezac@corevia.com>
 *   Documentacin en Ingls
 *
 * Copyright 2001 Alejandro de Grate <alex_degarate@hotmail.com>
 *   Traduccin al Espaol de pragma.txt
 *
 * Vea doc/license.txt por los trminos de la licencia.
 *
 */


DIRECTIVA #pragma
=================  


INTRODUCCION
============
Este archivo explica qu es y cmo usar la directiva #pragma con Harbour.
Primariamente esto le da control sobre los switches de la lnea de 
comandos del compilador, desde adentro de su cdigo fuente.


QUE ES ?
========
#pragma es una directiva usada dentro del cdigo fuente en muchos 
compiladores para cambiar el comportamiento del compilador en tiempo 
de compilacin.


USO
===

La directiva #pragma puede ser usada en dos formas:
1- el modo switch
2- modo comando

La sintaxis es: #pragma <Expression>[=On/Off] 
                #pragma -CompilerFlag[+|-]

Ud. puede usar ambos modos mezclados en el mismo mdulo y en maysculas 
minsculas sin preocuparse.

Para habilitar  deshabilitar un comando  un switch Ud simplemente haga:

  * Modo Comando                      Modo Switch 
  --------------------------------------------------------------
  * #pragma <CommandName>=On/Off      #pragma /<SwitchName>+/-

  Ejemplo: 
     #pragma AddDebugInfo=Off    /* Suprime informacin de depuracin */
     #pragma /B+                 /* Agrega informacin de depuracin 
                                        desde aqu                    */


IMPLEMENTACION
==============

Esta es la lista de los comandos soportados y switches:

  * Comando                           Switch
  -----------------------------------------------
  * AUTOMEMVARS         =<On/Off>     /A<+/->
  * DEBUGINFO           =<On/Off>     /B<+/->
  * ENABLEWARNINGS      =<On/Off>     /W<+/->
  * EXITSEVERITY        =<nNivel>     /E<nNivel>
  * FORCEMEMVARS        =<On/Off>     /V<+/->
  * LINEINFO            =<On/Off>     /L<+/->
  * NOSTARTPROC         =<On/Off>     /N<+/->
  * PREPROCESSING       =<On/Off>     /P<+/->
  * WARNINGLEVEL        =<nNivel>     /W<nNivel>
  * SHORTCUTTING        =<On/Off>     /Z<+/->

  Los switches tienen el mismo comportamiento que los del compilador  
  y los comandos son sinnimos de los switches.

  * TRACEPRAGMAS (Rastreo de pragmas)
  Este comando muestra la actividad de los pragmas en tiempo de 
  compilacin cuando estn habilitados.

  NOTA: Ud. puede usar el modo de comando abreviado tipeando solamente 
        los ocho primeros caracteres.


NOTAS:
======
Esta directiva no es soportada en la versin aislada del preprocesador 
de Harbour.


EJEMPLOS
========
#pragma NoStartProc=Off
/* #pragma /N- */

function Test()
return nil

Esto es lo mismo que llamar a Harbour con el switch -n en la lnea de
comandos pero con el gran beneficio que si Ud. olvida pasar el switch, 
este podr ser usado de todas maneras, porque est incluido dentro del 
cdigo fuente.






