Dyrektywa #line

Odpowiedz Nowy wątek
2011-07-26 23:48
0

Witam wszystkich.
Zawsze mnie zastanawialo, po co dyrektywa #line. Po co jej uzywac?
Nigdy jakos nie znalazlem dla niej zastosowania.

Pozostało 580 znaków

2011-07-27 00:03
cpp programmer
2

To wewnętrzna dyrektywa wynikająca z procesu przetwarzania kodu w C++. Najpierw przechodzi on przez preprocesor, następnie przez kompilator, dopiero potem przez linker, te trzy oddzielne programy generujące sobie wzajemnie pliki wejściowe. Preprocesor przechodzi przez źródło programu, wkleja treść plików w miejsce dyrektyw #include, dokonuje podstawien makr, usuwa zbędne białe znaki itd. Dyrektywa #line numer_linii "plik.cpp/.h" nie jest dyrektywą preprocesora, jest przez niego generowana aby kompilator wiedział, gdzie pierwotnie znajdowała się dana linia przetworzonego źródła, tylko dzięki kompilator temu jest w stanie prawidłowe komunikaty generować.

Ręczne używanie #line to najlepszy sposób na wygenerowanie mylących błędów, do niczego więcej zwykłemu użytkownikowi się nie przyda.

Pozostało 580 znaków

2011-07-27 00:14
0

pomyslalem o tym, ale myslalem, ze moze #line ma jeszcze jakas magicznie ukryta funkcjonalnosc.
Dziekuje za pomoc cpp programmer.

Pozostało 580 znaków

2011-07-27 09:59
0

Ręczne używanie #line to najlepszy sposób na wygenerowanie mylących błędów, do niczego więcej zwykłemu użytkownikowi się nie przyda.

Czasami MOŻE się przydać przy makrach, ale trzeba się zastanowić czy na pewno da pożądany efekt.

Pozostało 580 znaków

2011-07-27 10:13
0

Azarien, moglbys rozwinac swoja mysl?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0