| Avtor | Sporočilo |
|---|
Češnja
Pridružen /-a: 19. julij 2005 Posts: 3
| 25. avgust 2005 7:01 Funkcija Kazalci v C | | |
|
| Kje in v kakšnih situacijah smo lahko uporabite funkcijo kazalca C v vgrajenih?
Ali lahko nekdo razloži?
Hvala ..... Cherry |
|
| Nazaj na vrh | |
 |
IanP
Pridružen /-a: 05. oktober 2004 Posts: 6454 Pomagali: 1535 Kraj: Zahodna obala
| 25. avgust 2005 7:24 Re: Funkcija Kazalci v C | | |
|
| | Citat: | | Kazalci na funkcije niso tako pogosti kot drugi kazalec uporabe. Vendar pa skupni uporabi je v prehodu kazalca na funkcijo kot parameter v funkciji klic. | http://www.cs.cf.ac.uk/Dave/C/node12.html S spoštovanjem, IanP |
|
| Nazaj na vrh | |
 |
echo47
Pridružen /-a: 07. april 2002 Posts: 4206 Pomagali: 566
| 25. avgust 2005 8:13 Funkcija Kazalci v C | | |
|
| | Druga skupna uporaba klic funkcije. Na primer, želite, da vaš Windows audio snemalnik deluje vsak čas Windows prejme nekaj vzorcev iz mikrofona. Daj Windows je kazalec na vaš audio snemalnik funkcijo. |
|
| Nazaj na vrh | |
 |
Šah mat
Pridružen /-a: 26. februar 2004 Posts: 489 Pomagali: 35 Location: WC Seat
| 25. avgust 2005 13:23 Re: Funkcija Kazalci v C | | |
|
| Funkcija kazalci niso pogosto uporablja na področju vgrajenih C, več za PC stran programiranjem. V bistvu, to je kazalec na funkcijo, in glede na funkcijo, ki je kazalec točk, lahko izvaja različne funkcije, ki se izvrši v isti vrstici kode.
En primer način uporabe je, da imate niz funkcij kazalci, ki opozarja na sporočilo, oskrbniki, vsaka drugačno vrsto sporočil, ki je zasnovan tako, da imajo enak indeksu sporočilo trgovec.
Torej lahko pokličete nekaj podobnega | Koda: | fnPtr [msg-> tip] (msg);
| [/ code]
Added: Ena od možnosti uporabe funkcije kazalci na področju vgrajenih C, je naloga scheduler. |
|
| Nazaj na vrh | |
 |
njfane
Pridružen /-a: 27. oktober 2004 Posts: 15
| 26. avgust 2005 11:00 Re: Funkcija Kazalci v C | | |
|
| To je dobra izbira za zamenjavo stikalo primeru v stanju stroj uporabljate funkcijo kazalca, v primeru, da stanje Stroj ima preveč stikalo primerih. to naredi program bolj kompakten. |
|
| Nazaj na vrh | |
 |
Bingo600
Pridružen /-a: 26. avgust 2004 Posts: 239 Pomagali: 14
| 27. avgust 2005 14:35 Funkcija Kazalci v C | | |
|
| To je lepo dokument na to temo
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Nazaj na vrh | |
 |
btbass
Pridružen /-a: 20. julij 2001 Posts: 1137 Pomagali: 106 Lokacija: Oberon
| 10 Sep 2005 15:21 Re: Funkcija Kazalci v C | | |
|
| Funkcija kazalci so zelo koristne na področju vgrajenih sistemov. Kot racionaliziranim stikala izjavo. Tudi zelo koristna v meniju sistemov. Če element v meniju izbrane je indeks je kazalec functon array.
Na primer, vsaka država članica vrne funkcijo tukaj naslednje države za prehod na. Kontrolni Koda za celoten program v eni vrstici!
| Koda: | /*--- Članica funkcij stroja. ---*/
UI_16 pripravljenosti (ničen); UI_16 začetni (neveljavno); UI_16 prikazovati (neveljavno);
/*--- Državni stroj. ---*/
enum (STANJU PRIPRAVLJENOSTI = 0, starting, tekočo);
/************************************************* ******************** * Funkcija Ime in priimek: glavni * Opis: Program vstopne točke. Initialise niz konstantno funkcijo kazalca. Initialise avtomat v stanju pripravljenosti. Execute državni stroj.
************************************************** *******************/
SI_16 glavna (neveljaven) ( UI_16 (* const Motor_State []) (ničen) = (stanju, ki se začne, teče); UI_16 članici = STANJU PRIPRAVLJENOSTI;
za (;;){ Članici = Motor_State [članica] () / * klic državne funkcije * / ) )
/*--- Konec datoteke. ---*/
|
|
|
| Nazaj na vrh | |
 |
raj_rohit10
Pridružen /-a: 14. julij 2004 Posts: 113 Pomagali: 1
| 13 Sep 2005 7:19 Re: Funkcija Kazalci v C | | |
|
| zdravo najboljšo uporabo funkcije kazalec kar čutim je implimentation FDM in kot je rekel erlier 2. eden Dozvati funkcijo. |
|
| Nazaj na vrh | |
 |
Google AdSense

| 13 Sep 2005 7:19 Oglasi | | |
|
|
|
|
| Nazaj na vrh | |
 |
abhishek_elec
Joined: 09 Sep 2005 Posts: 15 Pomagali: 1 Lokacija: Indija
| 13 Sep 2005 12:42 Re: Funkcija Kazalci v C | | |
|
| Funkcija kazalci so koristni, ko so v splošnem postopku, ali Algu in u želite uporabiti ta postopek, na različne vrste podatkov.
Za ex., Če u življati a dober sortiranje Algu in u želite uporabljati isti Algu o številkah, abecednem, strune ali kakršne koli podatke, ki jih ureja nekatere sortiranje pravilo. V tem primeru, in so, da le napišeš drugačno "primerjavo" funkcijo za vsak tip podatkov in v glavnem sortiranje Algo, u bo pass funkcijo kazalcem kot argument. Ta način je enak Algu jih lahko uporabljajo različne PPL glede na njihove potrebe. Sprememba je potrebna v glavni organ Algu. |
|
| Nazaj na vrh | |
 |
yaseen
Pridružen /-a: 22. januar 2006 Posts: 9 Pomagali: 1
| 27. avgust 2006 9:33 Re: Funkcija Kazalci v C | | |
|
| Imam currenlty uporabljati funkcijo kazalca v moj C projekta, ki je usmerjeno v meniju urejevalnika. Namen teh nasvetov je napisati učinkovit, kompakten in hitro kodo. Moja številka saple je tu;
int vrednost [] = (0x1F00, / / Alt S (^ Setup) 0x1400, / / Alt T (^ debla) 0x1200, / / Alt E (^ Extensions) 0x1800, / / Alt O (^ operaterja) 0x2600, / / Alt L (^ Prijava) 0x1900, / / Alt P (^ Gesla) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Help) );
/ / ------ Kazalci na funkcije --------------------------------- void (* Execute [8 ])();// Main Menu funkcije void (* Setup [3 ])();// Meni Postavka funkcije void (* debla [9 ])(); void (* Extensions [4 ])(); void (* operaterja [3 ])(); void (* Sečnja [2 ])(); void (* Gesla [3 ])(); void (* Settings [6 ])(); void (* Help [10 ])(); //------------------------------------------------ ---------------
Glavni () ( .... / / Inicializirati funtion kazalci Execute [0] = ProcessSetup; Execute [1] = ProcessTrunks; Execute [2] = ProcessExtensions; Execute [3] = ProcessOperator; Execute [4] = ProcessLogging; Execute [5] = ProcessPasswords; Execute [6] = ProcessSettings; Execute [7] = ProcessHelp; ......
/ / Read the keyboard ... i = bioskey (1); če (i) / / Če je tipkovnica pripravljena ... key = bioskey (0); še nadaljevati; / / Če tipkovnica ni pripravljen nato še gledal
/ / Execute menija, ki ga izbere uporabnik for (j = 0; j <8; j ) ( if (tipka == Value [j]) ( if (! inProcess) ( inProcess = 1; Execute [j] (); ) ) drugega if (tipka == 0x2D00) / / Alt X pritisniti ... to Zaprite vrnitve; ) .......... |
|
| Nazaj na vrh | |
 |