-
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
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
Najnowsze wątki
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Kogo KE opierdoli za nieskuteczną cenzurę? [Rząd tuski doniósł]
- 2026-01-02 Gdańsk => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-02 Gdańsk => Solution Architect (Workday) - Legal Systems <=
- 2026-01-02 Gdańsk => Microsoft Dynamics 365 Finance Consultant <=
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]