| Författare | Meddelande |
|---|
cherry
Anställd: 19 juli 2005 Inlägg: 3
| 25 august 2005 7:01 Funktion Pekare i C | | |
|
| Var och i vilka situationer vi kan använda funktionen pekar C i Embedded?
Kan någon förklara?
Tack ..... Cherry |
|
| Tillbaka till toppen | |
 |
IanP
Anställd: 05 oktober 2004 Inlägg: 6454 Hjälpt: 1535 Ort: Västkusten
| 25 august 2005 7:24 Re: Funktion Pekare i C | | |
|
| | Citat: | | Pekare till funktioner är inte lika vanligt som andra pekaren användningsområden. Men ett vanligt användningsområde är i en godkänd pekare till en funktion som en parameter i en funktion samtal. | http://www.cs.cf.ac.uk/Dave/C/node12.html Hälsningar, IanP |
|
| Tillbaka till toppen | |
 |
echo47
Anställd: 07 april 2002 Inlägg: 4206 Hjälpt: 566
| 25 august 2005 8:13 Funktion Pekare i C | | |
|
| | Ett annat gemensamma ansökan är en callback-funktion. Till exempel, du vill att Windows ska ringa din ljud brännaren fungerar varje gång Windows erhåller några prover från mikrofonen. Du ger Windows en pekare till ditt ljud brännaren funktion. |
|
| Tillbaka till toppen | |
 |
schackmatt
Anställd: 26 februari 2004 Inlägg: 489 Hjälpt: 35 Ort: wc-stolens
| 25 august 2005 13:23 Re: Funktion Pekare i C | | |
|
| Funktion pekar inte ofta används i inbäddade C, mer för PC sidan programmering. I grund och botten, det är en pekare till en funktion, och beroende på vilken funktion pekaren pekar på, kan du genomföra olika funktioner som skall utföras på samma rad i koden.
Ett exempel på sätt att använda det är att du har en rad funktioner pekare, som pekar på meddelandet hanterarna, vart och ett av ett annat budskap typ som är avsedd att hålla samma index meddelandet handler.
Så du kan ringa något liknande | Kod: | fnPtr [msg-> typ] (msg);
| [/ code]
Tillagd: En möjlig användning av funktionen pekare i inbäddade C, är en Schemaläggaren. |
|
| Tillbaka till toppen | |
 |
njfane
Anställd: 27 oktober 2004 Inlägg: 15
| 26 august 2005 11:00 Re: Funktion Pekare i C | | |
|
| Det är ett bra val för att ersätta växla fallet i ett tillstånd maskinen med hjälp av funktionen pekare, när det gäller detta tillstånd maskinen har för många växlar fall. Det gör programmet mer kompakt. |
|
| Tillbaka till toppen | |
 |
Bingo600
Anställd: 26 august 2004 Inlägg: 239 Hjälpt: 14
| 27 august 2005 14:35 Funktion Pekare i C | | |
|
| Detta är ett fint dokument i ärendet
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Tillbaka till toppen | |
 |
Google AdSense

| 27 august 2005 14:35 annonser | | |
|
|
|
|
| Tillbaka till toppen | |
 |
btbass
Anställd: 20 juli 2001 Inlägg: 1137 Hjälpt: 106 Ort: Oberon
| 10 Sep 2005 15:21 Re: Funktion Pekare i C | | |
|
| Funktion tips är mycket användbara i inbyggda system. Liksom ett strömlinjeformat byta uttalande. Också mycket användbar i menyn system. Om menyobjektet valt index för en functon pekaren matris.
Till exempel, varje stat funktion här återvänder nästa stat att byta till. Den som kontrollerar koden för ett helt program i en rad!
| Kod: | /*--- Staten maskinens funktioner. ---*/
UI_16 vänteläge (void); UI_16 start (void); UI_16 gång (void);
/*--- Staten Machine. ---*/
enum (STANDBY = 0, med början, rinnande);
/************************************************* ******************** * Funktion Namn: huvudsakliga * Beskrivning: Program ingång. Initialisera rad konstant funktion pekare. Initialisera statliga maskin till vänteläge. Execute statliga maskin.
************************************************** *******************/
SI_16 viktigaste (innehåll) ( UI_16 (* const Motor_State []) (void) = (standby, starta, kör); UI_16 staten = STANDBY;
för (;;){ Stat = Motor_State [state] (); / * samtal statliga funktion * / ) )
/*--- Slut på filen. ---*/
|
|
|
| Tillbaka till toppen | |
 |
raj_rohit10
Anställd: 14 juli 2004 Inlägg: 113 Hjälpt: 1
| 13 sep 2005 7:19 Re: Funktion Pekare i C | | |
|
| hej på bästa sätt använda funktionen pekaren vad jag tycker är implimentation i Mikronesien och som det är sagt erlier 2:a en är call back-funktionen. |
|
| Tillbaka till toppen | |
 |
abhishek_elec
Anställd: 09 sep 2005 Inlägg: 15 Hjälpt: 1 Plats: Indien
| 13 Sep 2005 12:42 Re: Funktion Pekare i C | | |
|
| Funktion pekare är användbara när u har en allmän eller algo och u vill använda detta förfarande på olika typer av data.
För ex., Om u har en bra sortering algo och u vill använda samma algo på tal, alfabetisk, strängar eller några uppgifter som omfattas av vissa sortering regeln. I så fall, och måste bara skriva en annan "jämföra"-funktionen för varje datatyp och i största sortering algo, u passerar funktionen pekare som argument. På så sätt samma algo kan användas av olika ppl utifrån deras behov. Inga ändringar krävs i huvuddelen av algo. |
|
| Tillbaka till toppen | |
 |
yaseen
Anställd: 22 januari 2006 Inlägg: 9 Hjälpt: 1
| 27 august 2006 9:33 Re: Funktion Pekare i C | | |
|
| Jag har currenlty används funktionen pekare i min C-projektet, som är menystyrd redaktör. Syftet med avhandlingar tips är att skriva en effektiv, kompakt och snabb kod. Min kod saple är här;
int Value [] = (0x1F00, / / Alt S (^ Setup) 0x1400, / / Alt T (^ Koffertar) 0x1200, / / Alt E (^ Extensions) 0x1800, / / Alt O (^ Operator) 0x2600, / / Alt L (^ Loggning) 0x1900, / / Alt P (^ Passwords) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Hjälp) );
/ / ------ Pekare till funktioner --------------------------------- void (* Execute [8 ])();// Huvudmeny funktioner void (* Setup [3 ])();// menyobjektet funktioner void (* Koffertar [9 ])(); void (* Extensions [4 ])(); void (* Operator [3 ])(); void (* Loggning [2 ])(); void (* Passwords [3 ])(); void (* Inställningar [6 ])(); void (* Hjälp [10 ])(); //------------------------------------------------ ---------------
viktigaste () ( .... / / Initialize funtion pekare Execute [0] = ProcessSetup; Execute [1] = ProcessTrunks; Execute [2] = ProcessExtensions; Execute [3] = ProcessOperator; Execute [4] = ProcessLogging; Execute [5] = ProcessPasswords; Execute [6] = ProcessSettings; Execute [7] = ProcessHelp; ......
/ / Läs tangentbordet ... i = bioskey (1); if (i) / / Om tangentbordet redo ... key = bioskey (0); annan fortsätta; / / Om tangentbordet inte redo sedan fortsätta titta på det
/ / Execute menyn väljas av användaren for (j = 0, j <8; j ) ( if (nyckel == Värde [j]) ( if (! inProcess) ( inProcess = 1; Execute [j] (); ) ) else if (nyckel == 0x2D00) / / Alt X pressad ... dvs Avsluta avkastning; ) .......... |
|
| Tillbaka till toppen | |
 |