|
|
||||||
|
#1
|
|
|
|
|
Witam
Czy standardy C/C++ mówią coś o takiej składni, w której to właśnie zmienna/stała indeksująca ma wartość ujemną? Czasami używałem ujemnych indeksów i nie miałem kłopotów. Ostatnio napisany kod też sprawował się dobrze, ale gdy skompilowałem w gcc 4.4 (windows xp home, intel atom N270) z -fprofile-generate to się wywalił. Coś mnie tknęło aby tablica[-1].pole zamienić na (tablica-1)->pole. Po zamianie kompiluje się i uruchamia z dowolnymi opcjami. Czyli zamiana wpłynęła korzystnie. Czy używanie ujemnych wartościnie gwarantuje poprawnego zachowania? Czy to błąd gcc? Pozdrawiam |
|
|
|
#2
|
|
|
|
|
Mariusz Marszałkowski pisze:
> Czyli zamiana wpłynęła korzystnie. Czy używanie ujemnych wartości nie > gwarantuje > poprawnego zachowania? Czy to błąd gcc? 5.2.1 The expression E1[E2] is identical (by definition) to *((E1)+(E2)). Więc powinno to działać. Nie sprawdzałeś debuggerem na czym wybucha (zwłaszcza flagi procesora)? |
|
#3
|
|
|
|
|
On 1 Mar, 16:03, Michoo <michoo_n> wrote:
> Mariusz Marsza kowski pisze:> Czyli zamiana wp yn a korzystnie. Czy u ywanie ujemnych warto ci nie > > gwarantuje > > poprawnego zachowania? Czy to b d gcc? > > 5.2.1 > The expression E1[E2] is identical (by definition) to *((E1)+(E2)). > > Wi c powinno to dzia a . Nie sprawdza e debuggerem na czym wybucha > (zw aszcza flagi procesora)? > Nie sprawdzilem na czym sie wywala. Nie wiem czy by sie dalo, moze z opcjami dla debugera juz przestanie sie wywalac. Troche dziwne ze *(x-1) dziala, a x[-1] juz zawiesza. Pozdrawiam |
|
#4
|
|
|
|
|
W dniu 2010-03-02 01:39, Mariusz Marszalkowski pisze:
> On 1 Mar, 16:03, Michoo<michoo_n> wrote: > > Nie sprawdzilem na czym sie wywala. Nie wiem czy by sie dalo, moze z > opcjami dla debugera juz przestanie sie wywalac. > > Troche dziwne ze *(x-1) dziala, a x[-1] juz zawiesza. Dziwne, bo na tej definicyjnej równowaznosci oraz przemiennosci dodawania opiera sie IOCCC'owy trick z -1[x] - tez powinien dzialac. |
|
|
| Podobne wątki | |
| Co lepsze, tablica tablica, czy tablica obiektów Witam! Mam taką sytuację: Jest sobie w bazie tabelka z działaniami (nie matemetycznymi), w której zapisane są dane typu jakiego rodzaju to jest działanie (np. Skoczenie do... |
|
| Dynamiczna tablica rekordów a tablica obiektów - alokacja pamięci Może ktoś potrafi mi wyjaśnić jak to się dzieje, że gdy zapuszczę w pętli coś takiego: for i:=1 to 10000 do SetLength(TabRek,High(TabRek)+2); pomijając elegancję i sens... |
|
| różnica tablica wskaźników a synamiczna tablica hej, na czym polega różnica pomiędzy tablicą wskaźników a tablicą alokowaną dynamicznie w pamięci a jeszcze tablicą dynamiczną. o ile dobrze rozumiem to: np. int *a[20]; to... |
|
| tablica permutacji <=> tablica inwersji witam Załóżmy, że permutujemy zbiór liczb naturalnych od 1 do N. Zapiszmy elementy permutacji w tablicy A[1..N]. Każdej permutacji można w sposób wzajemnie... |
|
|
Czasy w strefie GMT. Teraz jest 23:11. | Privacy Policy
|