Od dłuższego czasu mordowałem się z implementacja syscalls tak aby uzyskać pewne efekty mnie zadowalające.
Jednym z nim było uzyskanie wyświetlacza LCD jako strumienia z obsługą przy pomocy standardowych funkcji np : "fsetpos".
Srodowisko :
Sourcery CodeBench Lite for ARM EABI z plikami Freediego Chopina
Do poprawnej pracy potrzebna była implementacja funkcji "fseek" i tu zaczynają się problemy
Jaki jest poprawny opis działania jaki ma spełniać ta funkcja ?
Ta ? Link
Czy ta ? Link
Wg manuala dostarczonego z kompilatorem wynika że funkcja zwraca wartość 0 lub - 1 w zależności czy działanie się powiodło czy nie.
Ale działanie innych funkcji wskazuje na wersję pierwszą , czyli zwrot wartości indeksu w strumieniu.
Przykład obrazujący problem (wycinek kodu):
Krótkie wyjasnienie :
_read_r - funkcja działa poprawnie , zwraca wartość 4.
_lseek_r - funkcja działająca dla wersji "niezgodnej z dokumentacją dostarczoną z kompilatorem"
fgetpos - zwraca w zmiennej pozycja wartość 15.
Pytanie która z definicji działania funkcji fseek jest prawidłowa ?
Jednym z nim było uzyskanie wyświetlacza LCD jako strumienia z obsługą przy pomocy standardowych funkcji np : "fsetpos".
Srodowisko :
Sourcery CodeBench Lite for ARM EABI z plikami Freediego Chopina
Do poprawnej pracy potrzebna była implementacja funkcji "fseek" i tu zaczynają się problemy
Jaki jest poprawny opis działania jaki ma spełniać ta funkcja ?
Ta ? Link
Czy ta ? Link
Wg manuala dostarczonego z kompilatorem wynika że funkcja zwraca wartość 0 lub - 1 w zależności czy działanie się powiodło czy nie.
Ale działanie innych funkcji wskazuje na wersję pierwszą , czyli zwrot wartości indeksu w strumieniu.
Przykład obrazujący problem (wycinek kodu):
Kod: C / C++
Krótkie wyjasnienie :
_read_r - funkcja działa poprawnie , zwraca wartość 4.
_lseek_r - funkcja działająca dla wersji "niezgodnej z dokumentacją dostarczoną z kompilatorem"
fgetpos - zwraca w zmiennej pozycja wartość 15.
Pytanie która z definicji działania funkcji fseek jest prawidłowa ?