Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[c][c18] - Dostęp do zmiennej w bibliotece

superduo 17 Lis 2012 22:27 918 8
  • #1 17 Lis 2012 22:27
    superduo
    Poziom 13  

    W pewnej bibliotece w pliku C znajduje się zmienna tablicowa o takiej definicji:

    Code:
    char8x8 font6x8[] = { ... }; 


    W pliku H jest tylko

    Code:
    typedef const rom unsigned char char8x8[8];


    Czy jest możliwość aby z poziomu maina odnieść się do tablicy font6x8? Potrzebuje wskaźnika do niej. Gdzie go zdefiniować?

    Docelowo wskaźnik ten ma być przekazywany jako parametr funkcji (zdefiniowanej w bibliotece) a wywoływanej w main.

    0 8
  • #2 17 Lis 2012 23:43
    mirekk36
    Poziom 42  

    tak w pliku *.h tej biblioteki daj DEKLARACJĘ tej zmiennej:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 22 Lis 2012 14:08
    superduo
    Poziom 13  

    Niestety takie rozwiązanie nie działa (próbowałem go już dawno) chyba że ZDEFINIUJE całą tą zmienną/stałą w pliku main (łącznie 128 wierszy kodu!).

    Jakieś inne pomysły? Przypomninam że to C18 Microchipa...

    0
  • #4 22 Lis 2012 17:17
    94075
    Użytkownik usunął konto  
  • #5 22 Lis 2012 21:29
    superduo
    Poziom 13  

    Nie sądze że to wina Microchipa. Nie bez powodu pisze w C18... Bedę jeszcze badał temat i dam znać.

    0
  • #6 22 Lis 2012 21:51
    stanleysts
    Poziom 27  

    Tak jak Ci mirek napisał to coś musi działać, widocznie coś robisz źle.

    0
  • #7 22 Lis 2012 22:39
    mirekk36
    Poziom 42  

    mirekk36 napisał:
    tak w pliku *.h tej biblioteki daj DEKLARACJĘ tej zmiennej:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    zrobiłem mały błąd (przepraszam) - już się poprawiam:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    bo z tym = to wyszła DEFINICJA a nie deklaracja, ale sens/idea pozostaje ta sama, tzn utworzenie deklaracji w *.h

    0
  • #8 22 Lis 2012 23:37
    stanleysts
    Poziom 27  

    No i dzięki mojemu głupiemu potwierdzeniu mirek36 odnalazł błąd.

    0
  • #9 30 Lis 2012 12:59
    superduo
    Poziom 13  

    Tak też występowały problemy. Dodam jeszcze że sporo zależy od samego środowiska! (W mplab X dodawanie bibliotek jest niemal bezproblemowe a w 8.8 cuda się dzieją przy tym samym kodzie).

    0