Regler | Siste innlegg | emnet RSS | Søk | Registrer | Logg inn

Funksjon Pekere i C



Post new topic Reply to topic EDAboard.com Forum Hovedsiden -> PC Programmering og Tilkobling -> Funksjon Pekere i C
Arabisk versjon Bulgarsk versjon Katalansk versjon Tsjekkisk versjon Dansk version Tysk versjon Gresk versjon Engelsk versjon Spansk versjon Finsk versjon Fransk versjon Hindi versjon Kroatisk versjon Indonesisk versjon Italiensk versjon Hebraisk versjon Japansk versjon Koreanske versjonen Litauisk versjon Latvisk versjon Nederlandsk versjon Norsk versjon Polsk versjon Portugisisk versjon Rumensk versjon Russisk versjon Slovakisk versjon Slovensk versjon Serbian version Svensk versjon Tagalog versjon Ukrainsk versjon Vietnamesisk versjon Kinesisk versjon
Forfatter Melding
kirsebær



Registrert: 19. juli 2005
Innlegg: 3


Post 25 august 2005 7:01 Funksjon Pekere i C

Hvor og i hvilke situasjoner vi kan bruke funksjonen pekere av C i Embedded?

Kan noen forklare?

Takk ..... Cherry
Tilbake til toppen
View user's profile
IanP



Registrert: 05 oktober 2004
Innlegg: 6454
Hjalp: 1535
Sted: West Coast


Post 25 august 2005 7:24 Re: Funksjon Pekere i C

Sitat:
Pekere til funksjoner er ikke så vanlig som andre peker bruker. Men en felles bruk er i en forbikjøring pekere til en funksjon som en parameter i en funksjon samtale.

http://www.cs.cf.ac.uk/Dave/C/node12.html
Hilsen,
IanP
Tilbake til toppen
View user's profile
echo47



Registrert: 07 april 2002
Innlegg: 4206
Hjalp: 566


Post 25 august 2005 8:13 Funksjon Pekere i C

En annen vanlig program er en tilbakeringing funksjon. For eksempel, du vil at Windows skal ringe lyd opptaker funksjon hver gang Windows mottar noen eksempler fra mikrofonen. Du gir Windows en peker til lyd opptaker funksjon.
Tilbake til toppen
View user's profile
sjakkmatt



Registrert: 26 februar 2004
Innlegg: 489
Hjalp: 35
Beliggenhet: Toalett sete


Post 25 august 2005 13:23 Re: Funksjon Pekere i C

Funksjonspekere på er ikke ofte brukes i embedded C, mer for PC side programmering. I utgangspunktet er det en peker til en funksjon, og avhengig av hvilken funksjon pekeren peker til, kan du gjennomføre ulike funksjoner skal utføres på samme linje med kode.

Et eksempel på hvordan du bruker det er at du har en rekke funksjoner pekere som viser til meldingen handlers, hver av en annen melding type som er utformet for å holde den samme indeksen som meldingshåndtereren.

Slik at du kan ringe omtrent slik
Code:

fnPtr [msg-> type] (msg);
[/ code]

Lagt til:
En mulig bruk av funksjonen pekere i innebygde C, er en oppgave planleggingstjenesten.
Tilbake til toppen
View user's profile
njfane



Registrert: 27. oktober 2004
Innlegg: 15


Post 26 august 2005 11:00 Re: Funksjon Pekere i C

det er et godt valg for å erstatte bytte fall i en maskin ved hjelp av funksjonen peker,
I tilfellet at staten maskinen har for mange slår tilfeller. Det gjør programmet mer kompakt.
Tilbake til toppen
View user's profile
Bingo600



Registrert: 26. august 2004
Innlegg: 239
Hjalp: 14


Post 27 august 2005 14:35 Funksjon Pekere i C

Dette er et fint dokument om emnet

http://www.newty.de/fpt/zip/e_fpt.pdf

http://www.newty.de/fpt/index.html

/ Bingo
Tilbake til toppen
View user's profile
btbass



Registrert: 20. juli 2001
Innlegg: 1138
Hjalp: 106
Beliggenhet: Oberon


Post 10 Sep 2005 15:21 Re: Funksjon Pekere i C

Funksjonspekere på er svært nyttig i innebygde systemer. Som et strømlinjeformet bytte setningen. Også svært nyttig i menyen systemer. Hvor menyelementet valgt er indeksen for en functon peker matrisen.

For eksempel, hver stat funksjon her returnerer neste tilstand for å bytte til.
De styrende for hele programmet på én linje!

Code:

/*--- State machine funksjoner. ---*/

UI_16 standby (void);
UI_16 start (void);
UI_16 kjører (void);

/*--- State Machine. ---*/

enum (STANDBY = 0, STARTENDE kjørte);

/************************************************* ********************
* Funksjon Navn: main
* Beskrivelse: Program inngangspunktet.
Initialise rekke konstant funksjonspekere på.
Initialise statlig maskinen til standby.
Execute statlig maskinen.

************************************************** *******************/

SI_16 main (void)
(
UI_16 (* const Motor_State []) (void) = (standby starter, kjører);
UI_16 State = STANDBY;


for (;;){
Staten = Motor_State [stat] (); / * ring state funksjon * /
)
)

/*--- Slutten av filen. ---*/
Tilbake til toppen
View user's profile
raj_rohit10



Registrert: 14 juli 2004
Innlegg: 113
Hjalp: 1


Post 13 Sep 2005 7:19 Re: Funksjon Pekere i C

hallo
den beste bruken av funksjon pekeren hva jeg føler er implimentation av FSM og som det er sagt erlier 2dre man ringe tilbake funksjon.
Tilbake til toppen
View user's profile
abhishek_elec



Registrert: 09 Sep 2005
Innlegg: 15
Hjalp: 1
Location: India


Post 13 Sep 2005 12:42 Re: Funksjon Pekere i C

Funksjon tips er nyttig når u har en generalisert prosedyre eller algo og u ønsker å bruke denne fremgangsmåten på ulike typer data.

F.eks. Hvis u ha en god sortering algo og u vil bruke samme algo på tallene, alfabetisk, strenger eller noen data underlagt noen sortering regelen. I så fall, u må bare skrive en annerledes "sammenligne" funksjon for hver datatype og i hovedvisningen sortering algo, u passerer funksjonen pekeren som et argument.
Denne måten, det samme algo kan brukes av forskjellige ppl i henhold til deres behov. Ingen endringer er nødvendig i Hoveddelen av algo.
Tilbake til toppen
View user's profile
Google
AdSense





Post 13 Sep 2005 12:42 Ads



Tilbake til toppen
yaseen



Registrert: 22 januar 2006
Innlegg: 9
Hjalp: 1


Post 27 august 2006 9:33 Re: Funksjon Pekere i C

Jeg har currenlty brukt funksjonspekere på min C Project, som er på menyen drevet editor. Formålet med teser tips er å skrive en effektiv, kompakt og raskt koden. Min kode saple er her;

int Verdi [] = (0x1F00, / / Alt S (^ Setup)
0x1400, / / Alt T (^ badebukser)
0x1200, / / Alt E (^ Extensions)
0x1800, / / Alt O (^ Operatør)
0x2600, / / Alt L (^ Logging)
0x1900, / / Alt P (^ Passwords)
0x2200, / / Alt G (Settin ^ gs)
0x2300 / / Alt H (^ Hjelp)
);

/ / ------ Pekere til funksjoner ---------------------------------
void (* Execute [8 ])();// Hovedmeny funksjoner
void (* Setup [3 ])();// menyelementet funksjoner
void (* badebukser [9 ])();
void (* Extensions [4 ])();
void (* Operatørinnstillinger [3 ])();
void (* Logging [2 ])();
void (* Passord [3 ])();
void (* Settings [6 ])();
void (* Hjelp [10 ])();
//------------------------------------------------ ---------------

main ()
(
....
/ / Initialiser funtion pekere
Execute [0] = ProcessSetup;
Execute [1] = ProcessTrunks;
Execute [2] = ProcessExtensions;
Execute [3] = ProcessOperator;
Execute [4] = ProcessLogging;
Execute [5] = ProcessPasswords;
Execute [6] = ProcessSettings;
Execute [7] = ProcessHelp;
......

/ / Les tastaturet ...
i = bioskey (1);
hvis (i) / / Hvis tastaturet klar ...
nøkkel = bioskey (0);
ellers
continue; / / Hvis tastaturet ikke klar deretter fortsette å se det

/ / Execute menyen velges av brukeren
for (j = 0; j <8; j )
(
if (nøkkel == Verdi [j])
(
if (! inProcess)
(
inProcess = 1;
Execute [J] ();
)
)
else if (nøkkel == 0x2D00) / / Alt X trykket ... dvs. Quit
return;
)
..........
Tilbake til toppen
View user's profile
Post new topic Reply to topic EDAboard.com Forum Hovedsiden -> PC Programmering og Tilkobling -> Funksjon Pekere i C
Side 1 av 1 Alle klokkeslett er GMT 2 timer


Abuse | | Administrator | | Moderatorer | | Støtt oss | | sitemap
topic RSS