Directiva de control de línea

Directiva de control de línea :cada vez que se compila un programa, hay posibilidades de que ocurra algún error en el programa. Cada vez que el compilador identifica un error en el programa nos proporciona el nombre del archivo en el que se encuentra el error junto con la lista de líneas y con los números de línea exactos donde se encuentra el error. Esto nos facilita encontrar y corregir el error. Sin embargo, qué información debe proporcionar el compilador durante los errores en la compilación se puede controlar usando la#line. Manipula alcompiladorpara leer una línea para que el programador pueda controlar la línea y también la línea leída por elcompiladorarchivosBásicamente se utiliza para restablecer el número de línea.

caracteristicas :

  • Un código fuente C / C++ en realidad se preprocesa para crear una unidad de traducción que luego se compila.
  • Una unidad de traducción tiene todo el contenido de los archivos de encabezado y ella misma. Por lo tanto, para el compilador, es difícil distinguir entre el archivo y la línea que está leyendo, y luego generará mensajes de error en consecuencia.
  • Para el preprocesador, agrega control de línea cada vez e inserta el archivo de encabezado en el código fuente.

Sintaxis :

Sintaxis 1
# número de línea «nombre de archivo»

Sintaxis 2
# línea número-línea “nombre-archivo”

line-number — Número de línea que se asignará a la siguiente línea de código. Los números de línea de las líneas sucesivas se incrementarán uno a uno a partir de este momento.

“file-name” — Parámetro opcional que permite redefinir el nombre del archivo que se mostrará.

Explicación:

  • Las dos sintaxis anteriores son iguales con una pequeña diferencia.
  • El compilador leerá la sintaxis-1 , mientras que el preprocesador leerá la sintaxis 2 .
  • En última instancia , la sintaxis-2 se convertirá en la sintaxis 1 en la unidad de traducción.
  • Estas sintaxis finalmente le dicen al compilador que la siguiente línea tendrá un número de línea como «número de línea» y pertenece al archivo «nombre de archivo» .
  • Para verificar esto, use dos macros integradas :
    • __LINE__: Imprime el número de línea dentro del código fuente.
    • __FILE__: Imprime el nombre del archivo del código fuente.

A continuación se muestra el programa para demostrar el control de línea:

C++

// C++ program to demonstrate line control
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    cout << "START" << endl;
 
    cout << __LINE__ << " "
         << __FILE__ << endl;
 
#line 67 "Binod.cpp"
 
    cout << __LINE__
         << " " << __FILE__
         << endl; // (67)
 
    // This will apply continuously (68)
    cout << __LINE__ << endl; // (69)
}
Producción: 

INICIO 
11 /usr/share/IDE_PROGRAMS/C++/other/1d6323581eea236f68331bcde745f2c6/1d6323581eea236f68331bcde745f2c6.cpp 
68 Binod.cpp 
73 

 

Publicación traducida automáticamente

Artículo escrito por mohdatishanx y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *