Programovanie ccs C
Moderátori: psichac, Moderátori
- niki31
- Stály člen
- Príspevky: 172
- Dátum registrácie: 05 Feb 2010, 00:00
- Bydlisko: Žilinský kraj
- Vek: 49
Re: Programovanie ccs C
Ja nenadávam, veď som už písal v čom bol problém a že je vyriešený. Kolega si stiahol kompilátor bez debuggera a ešte kompiloval niečo iné než som popisoval. Takže vie prd aké hodnoty to vracia. Jediné o čo mu ide je pomasírovať si ego, to nemá nič spoločné so vzdelaním.
0
Niki31
Re: Programovanie ccs C
OT: Ešteže nie sú obľúbené súboje, ako v 19. storočí.
Aké zbrane teraz ? pištole, kordy ... nie, kompilátory.
Aké zbrane teraz ? pištole, kordy ... nie, kompilátory.
0
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: Programovanie ccs C
V prvom rade ďakujem za pochvalu. Hej tiež si myslím že nie som úplne mechom praštený a niečo málo o C viem. Nedebugoval som to v ničom. Stiahol som si Tvoj kompilátor kedže si namietal že ten môj je iný. Ty si tvrdil že to nejde skopilovať a že každý iný zápis než ten tvoj generuje chybu (samozrejme len tak do vetra, žiadny screenshot si tu nedal). To že pracuješ s ROM mi naozaj uniklo. Ale myslím si že ani to nieje pravda. Aspoň teda na ten kód čo si poslal nevidím nič čo by nariadilo prekladaču aby text Ahoj umiestnil do pamäte ROM.Tiež tvoja predstava virtuálnej adresy je mylná. Netuším prečo argumentuješ rodinou x86 jasne ti tam hore svieti PIC16F57. Aj som Ti vysvetlil že v deme ten Tvoj procesor je červený, teda sa nedá použiť.niki31 napísal:A čím si to debugoval ty chytrák. Takto to šlo skompilovať aj mne inak by som asi nevedel aké mi to vracia hodnoty. V prvej funkcii boli hodnoty správne ale v druhej už nie.
Uniklo ti že ja pracujem s ROM pamäťou, preto tam mám to slovo const. PIC majú oddelenú pamäť dat a programu. Ukazatele do ROM tam fungujú trochu inak, pretože prístup do ROM obstaráva podprogram ktorý generuje virtuálnu adresu. To vidím ako zdroj problémov, nie jazyk C. Skrátka PIC nieje x86.
Najviac ma však pobavilo tebou uvádzané riešenie problému v tvare
Pre tých čo nevedia čo ten zápis znamená, tak operácie * a & sú v tomto prípade ako inverzné funkcie v matematike. Čiženiki31 napísal:Takže nakoniec to funguje s následovným zápisom:
void funct1 (const char *pS)
{
funct2(*(&pS));
}
Kód: Vybrať všetko
√x²=x
*(&pS) = pS
funct2(*(&pS)); je to isté ako funct2(pS);
A ďalšia perla je ako si Štefanovi vysvetlil ten tvoj nekorektný zápis
Vrajniki31 napísal:void funct2 (const char *pS)
{
char chr = pS;
}
Tvrdenie (červeným) je samozrejme nepravdivé.niki31 napísal:Veď pS je adresa prvého znaku v reťazci.
V CCS C je zápis char x = *pS totožný s char x = pS, oba vrátia hodnotu byte kde ukazuje ukazateľ.
Akékoľvek zápisy s hranatými zátvorkami kompilátor neberie.
Ohľadom ega - debata s tebou ho masíruje fakt dobre. Ak si niekto pozrie históriu mojich príspevkov tak sa v poslednej dobe ozývam len keď sa tu zjavia očividné hlúposti na ktoré nikto nepoukáže.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
-
- Pokročilý člen
- Príspevky: 753
- Dátum registrácie: 24 Jún 2010, 00:00
- Bydlisko: Trnava
- Vek: 68
Re: Programovanie ccs C
OT: peterple vzdaj to, ja som to vzdal okamžite. Za svojej 40 ročnej aktívnej pracovnej činnosti v oblasti programovania, hlavne v C, C++ v rôznych operačných systémoch ako WINDOWS, Linux Unix, QNX a embended aplikáciách si myslím, že jazyk C ovládam. Podľa mňa pre programovanie v C je zásadné sa naučiť správne používať smerníky, pomocou ktorých a ich pretypovania na rôzne typy premenných a štruktúr, sa dajú robiť divy. (nebudem tu radšej spomínať správne definovanie premenných, aby bol kód prenositeľný na rôzne procesory od 8bitových po 64 bitové, big endian, low endian,...).
0
S.K.
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 38 Odpovedí
- 2737 Zobrazení
-
Posledný príspevok od používateľa Lennox