CodeSorcery i brak wsparcia dla __LINE__ ??

Witam

W necie dużo jest napisane na temat użycia makr __FILE__ i __LINE__ . No to sobie zrobić chciałem piękny debug. Jak wpiszę tak: Debug("Błąd! " __FILE__ " \n"); to jest OK. Zaś jeśli wpiszę: Debug("Błąd! " __LINE__ " \n"); to wywala błąd :/... Dodam, że dziwnym trafem Eclipse także nie potrafi rozwinąć makra __LINE__ a rozwija makro __FILE__ (ale pełną ścieżkę, a kompilator rozwija to tylko do np. "/src/plik.c"). Co jest nie tak?? Czy te wszystkie strony kłamią?? :)... Żebym nie był gołosłowny:

formatting link
Zmienili coś od wersji 3.0.2?? :)...

Ja używam: arm-none-eabi-gcc (Sourcery G++ Lite 2011.03-42) 4.5.2

Z góry dzięki za podpowiedzi!

Reply to
Konop
Loading thread data ...

W dniu 2011-08-03 22:02, Konop pisze:

Bo __LINE__ to jest int! Zrob tak: Debug("Błąd! %s: %d\n", __FILE__, __LINE__);

i bedzie dzialac

Pozdr AK

Reply to
AK

W dniu 03.08.2011 22:02, Konop pisze:

To następnym razem przeczytaj co to za błąd...

__LINE__ jest liczbą. Musisz albo użyć ją jako liczbę, albo opakować w cudzysłów jak chcesz użyć w kontekście ciągu znaków.

Reply to
Michoo

W dniu 03.08.2011 22:19, Michoo pisze:

Jaa, czytanie ze zrozumieniem ;)... sorry w takim razie za głupie pytanie i dziękuję za wyjaśnienie. Czerwienię się ze wstydu ;)...

Reply to
Konop

W dniu 03.08.2011 22:18, AK pisze:

Dzięki za odpowiedź. Mój "debug" nie wspiera składni printf, ale mam osobną funkcję do wyrzucania intów, tak więc sobie poradzę ;)... dzięki!

Reply to
Konop

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.