-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.wp.pl!not-for-mail
From: Adam Dybkowski <a...@4...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR-GCC - sterowanie kompilacją
Date: Wed, 01 Apr 2009 22:23:37 +0200
Organization: Wirtualna Polska S.A. http://www.wp.pl
Lines: 35
Sender: a...@a...neoplus.adsl.tpnet.pl
Message-ID: <gr0ig6$ddr$1@news.wp.pl>
References: <gqtr0t$8be$1@inews.gazeta.pl> <gr08f5$j6p$1@inews.gazeta.pl>
NNTP-Posting-Host: aelc226.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.wp.pl 1238617414 13755 79.191.28.226 (1 Apr 2009 20:23:34 GMT)
X-Complaints-To: a...@w...pl
NNTP-Posting-Date: Wed, 1 Apr 2009 20:23:34 +0000 (UTC)
X-Organization-Notice: Organization line has been filtered
In-Reply-To: <gr08f5$j6p$1@inews.gazeta.pl>
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
X-Original-Organization: Wirtualna Polska S.A. http://www.wp.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:560933
[ ukryj nagłówki ]pawel pisze:
>> Mam w kodzie kilkanaście funkcji printf z różną ilością argumentów, jak
>> można je hurtowo włączyć lub wyłączyć przy kompilacji.
>
> Ja to robię tak
> #ifdef DEBUG
> #define DEBUG_PRINT(arg) printf arg
> #define DEBUG_PRINT_P(arg) printf_P arg
> #else
> #define DEBUG_PRINT(arg)
> #define DEBUG_PRINT_P(arg)
> #endif
>
> i zamiast funkcji printf używam np: DEBUG_PRINT(("blabla%dblabla", i));
Ja używam w tym celu makra DBG_P - jest krócej napisać. I nie wymaga
podwójnych nawiasów ale wygląda raczej tak:
DBG_P(printf("BLABLA%d",i);)
Daje to możliwość opcjonalnego wyłączania też innych kawałków kodu, nie
tylko funkcji printf.
Ale rzeczywiście to "super wygodne" rozwiązanie nijak się ma do nakładu
pracy z przerobieniem masy gotowego napisanego wcześniej kodu. :-| Gdy
się od razu tak nie pisało "debugów". W takim przypadku proponuję
zlinkować z programem własną funkcję printf i będzie po kłopocie. A
debugowanie można sobie wtedy dynamicznie włączać i wyłączać, np. na
podstawie jakiejś zmiennej (jest to możliwe bo teksty będą obecne cały
czas w pamięci programu).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Następne wpisy z tego wątku
- 02.04.09 10:20 tomi
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek