eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCodeSorcery i brak wsparcia dla __LINE__ ??
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2011-08-03 20:02:19
    Temat: CodeSorcery i brak wsparcia dla __LINE__ ??
    Od: Konop <k...@g...pl>

    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:
    http://sunsite.ualberta.ca/Documentation/Gnu/gcc-3.0
    .2/html_chapter/cpp_3.html#SEC21

    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!

    --
    Pozdrawiam
    Konop


  • 2. Data: 2011-08-03 20:18:19
    Temat: Re: CodeSorcery i brak wsparcia dla __LINE__ ??
    Od: AK <a...@g...pl>

    W dniu 2011-08-03 22:02, Konop pisze:
    > 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 :/...
    Bo __LINE__ to jest int!
    Zrob tak:
    Debug("Błąd! %s: %d\n", __FILE__, __LINE__);

    i bedzie dzialac

    Pozdr
    AK


  • 3. Data: 2011-08-03 20:19:17
    Temat: Re: CodeSorcery i brak wsparcia dla __LINE__ ??
    Od: Michoo <m...@v...pl>

    W dniu 03.08.2011 22:02, Konop pisze:
    > Jak wpiszę tak:
    > Debug("Błąd! " __FILE__ " \n");
    > to jest OK. Zaś jeśli wpiszę:
    > Debug("Błąd! " __LINE__ " \n");
    > to wywala błąd :/...
    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.

    --
    Pozdrawiam
    Michoo


  • 4. Data: 2011-08-03 21:24:49
    Temat: Re: CodeSorcery i brak wsparcia dla __LINE__ ??
    Od: Konop <k...@g...pl>

    W dniu 03.08.2011 22:19, Michoo pisze:
    > W dniu 03.08.2011 22:02, Konop pisze:
    >> Jak wpiszę tak:
    >> Debug("Błąd! " __FILE__ " \n");
    >> to jest OK. Zaś jeśli wpiszę:
    >> Debug("Błąd! " __LINE__ " \n");
    >> to wywala błąd :/...
    > 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.
    >

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

    --
    Pozdrawiam
    Konop


  • 5. Data: 2011-08-03 21:28:01
    Temat: Re: CodeSorcery i brak wsparcia dla __LINE__ ??
    Od: Konop <k...@g...pl>

    W dniu 03.08.2011 22:18, AK pisze:
    > W dniu 2011-08-03 22:02, Konop pisze:
    >> 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 :/...
    > Bo __LINE__ to jest int!
    > Zrob tak:
    > Debug("Błąd! %s: %d\n", __FILE__, __LINE__);
    >
    > i bedzie dzialac

    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!

    --
    Pozdrawiam
    Konop

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: