- posted
20 years ago
8052 i tablica przekazywana do funkcji
- Vote on answer
- posted
20 years ago
[...]
O ile PBYTE to jest BYTE*, to powinienes przekazywac wskazanie na element, a nie jego zawartosc. Czyli twoje wywolanie powinno wygldac tak: SendData(&Registers[5]);
Z tego ze zmieniasz typ wnioskuje, ze kompilator pyskowal, ale ty zamiast wziac pod uwage jego pretensje, po prostu zmieniles typ.
No i efekty sa jakie sa. Gratuluje wspanialego pomyslu na skomplikowanie sobie zycia :) A na przyszlosc polecam wlaczyc wszelkie mozliwe ostrzezenia i testy poprawnosci i dokladnie sie zastanowic dlaczego sie pojawily.
pzdr. j.
- Vote on answer
- posted
20 years ago
Jacek R. Radzikowski:
albo SendData(Registers+5);
co do reszty to podpisuję się wszystkimi nogami.
Waldek
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
Mozna. Ale, brrr... az mnie zeby rozbolaly jak zobaczylem ten zapis. Jak sie dopiero uczy to niech lepiej niech nie siega do sztuczek.
j.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
No cóż. Kwestia biu^Wgustu :) Ja też pisze w C juz od ladnych kilku lat i praktyka nauczyła mnie (dość bolesnie) unikać operacji arytmetycznych na wskaźnikach. W swoich programach z arytmetyki wskaźnikowej uzżwam tylko inkrementacji i dekrementacji, a reszte zalatwiam indeksowaniem tablicowym. Jest to dla mnie (i nie tylko) o wiele czytelniejsze i "poprwne politycznie" ;) A dla kompilatora to i tak wszystko jedno.
Amen. :)
pzdr. j.
- Vote on answer
- posted
20 years ago
Ale myslisz ze Registers[5] co robi ? Ba - w prawdziwym C [za keila i inne wynalazki nie recze] Registers[5] == 5[Registers]
Roznie bywa. Wczesne Turbo C operacji tablicowych nie potrafilo zoptymalizowac i co chwile obliczalo adres.
P.S. Panowie - a w ogole to jestescie pewni ze ta SendData(PBYTE) to wysyla obszar danych ? Bez podania dlugosci to by \0 bylo ogranicznikiem tekstu do wyslania .. czyli nie mozna by 00h przeslac .. w prockach to chyba malo uzyteczna sprawa..
J.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
C to faktycznie nie bardzo :-)
Oj uwazaj - sa delikatne roznice. W prostych konstrukcjach nie, ale w bardziej zaawansowanych wyjda..
Ale identycznie namieszaja ci odwolania tablicowe.
Dla czlowieka zas. Jesli chodzi o 5-ty element tablicy - Registers[5] wydaje sie naturalne. Ale jesli chodzi o elementy od 5-tego dalej ... hm, no niby faktycznie Registers+5 moze zmylic, ale &...[5] tez.
Powiedzmy nie blad a wada. Ciagle generowalo to poprawny program.
J.
- Vote on answer
- posted
20 years ago
W artykule <bl8clc$66s$ snipped-for-privacy@www.itl.waw.pl> Jacek R. Radzikowski napisal(a):
Jo! A ja pamiętam (chyba z PCKuriera) przykład z jakiegoś konkursu C. W wywołaniu programu dawało się dwie liczby, a program generował w trybie tekstowym mapę świata z zaznaczonym położeniem (te dwie liczby). Treść też miał niezłą i zajmował w sumie kilka linijek...
Marcin Stanisz
- Vote on answer
- posted
20 years ago
Wiesz, stwierdzenie, ze jezyk C byl projektowany z _jakakolwiek_ mysla to bardzo ryzykowna teza. ;-) Nie jestem nawet pewien, czy on w ogole byl projektowany...
Pozdrawiam Piotr Wyderski
- Vote on answer
- posted
20 years ago
Oczywiscie ze byl. Jezyk C : jezyk w ktorym napisano Unix. Unix : system napisany w jezyku C :-)
J.
- Vote on answer
- posted
20 years ago
Przypadkiem z C nie było tak: C=B++ ;)
W.
- Vote on answer
- posted
20 years ago
- Vote on answer
- posted
20 years ago
Dosc mocno. I lepiej przystajacych do rzeczywistosci :)
To Ty chyba BrainFucka nie widziales :) (tak, jest taki jezyk. Nie, nie wiem po co i do czego:)) BTW. BF powinien sie niezle nadawac na kod maszynowy jakiegos procesora :)
snipped-for-privacy@kasprzol.mieszka.sobie.na.o2.pl>
j.
PS: perl jest bardzo przyjemnym jezykiem :)
- Vote on answer
- posted
20 years ago
Nowsza skladnia jest OK, starsza jest mniej czytelna. Ale mnie nie o skladnie chodzi; jednym z najczesciej wystepujacych slow w definikcji C i C++ jest "znaczenie: nie zdefiniowano". :-)
Na pewno nie pomylilem, ale Perl to jeszcze wiekszy dziwolag. :-)
Pozdrawiam Piotr Wyderski