18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

int main() {<br />

}<br />

printf("%s: %s %d\n", __FILE__, __FUNCTION__, __LINE__);<br />

func1();<br />

printf("%s: %s %d\n", __FILE__, __FUNCTION__, __LINE__);<br />

func2();<br />

return 0;<br />

Il file func1.c è il seguente:<br />

#include <br />

int func1() {<br />

printf("%s: %s %d\n", __FILE__, __FUNCTION__, __LINE__);<br />

}<br />

return 0;<br />

Il file func2.c è il seguente:<br />

#include <br />

int func2() {<br />

printf("%s: %s %d\n", __FILE__, __FUNCTION__, __LINE__);<br />

}<br />

return 0;<br />

Le varie funzioni contengono una sola istruzione che stampa le tre variabili<br />

__FILE__<br />

__FUNCTION__<br />

__LINE__<br />

tali variabili sono assegnate in fase di compilazione e rappresentano rispettivamente<br />

• il nome del file nel quale l’istruzione che usa la variabile è posta;<br />

• il nome della funzione nella quale l’istruzione che usa la variabile è posta;<br />

• il numero di linea <strong>alla</strong> quale l’istruzione che usa la variabile è posta;<br />

L’output del programma è quindi il seguente:<br />

$ ./prog<br />

prog.c: main 5<br />

func1.c: func1 4<br />

prog.c: main 8<br />

func2.c: func2 4<br />

132

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!