| Autor | Missatge |
|---|
cirera
Antiguitat: 19 de juliol 2005 Publicacions: 3
| 25 d'agost 2005 7:01 Funció Punters en C | | |
|
| On i en quines situacions es pot utilitzar la funció dels punters de C en Embedded?
Pot algú explicar?
Gràcies ..... Cherry |
|
| Tornar amunt | |
 |
IANP
Antiguitat: 05 d'octubre 2004 Posts: 6454 Ajudat: 1535 Ubicació: Costa Oest
| 25 d'agost 2005 7:24 Re: Funció de Punters en C | | |
|
| | Cita: | | Punters a funcions no són tan comunes com altres usos punter. Tanmateix, un ús comú és un pas en els punters a una funció com a paràmetre en una crida a una funció. | http://www.cs.cf.ac.uk/Dave/C/node12.html Records, IANP |
|
| Tornar amunt | |
 |
Google AdSense

| 25 d'agost 2005 7:24 anuncis | | |
|
|
|
|
| Tornar amunt | |
 |
echo47
Antiguitat: 07 d'abril 2002 Posts: 4206 Ajudat: 566
| 25 d'agost 2005 8:13 Funció Punters en C | | |
|
| | Una altra aplicació comú és una funció de trucada. Per exemple, vostè vol que Windows per trucar a la seva funció de gravador d'àudio de Windows cada vegada que rep les mostres procedents dels micròfons. Windows li dóna un punter a la seva funció de gravadora d'àudio. |
|
| Tornar amunt | |
 |
escac mat
Antiguitat: 26 de febrer 2004 Llocs: 489 Ajudar: 35 Lloc: Seu de sanitaris
| 25 d'agost 2005 13:23 Re: Funció de Punters en C | | |
|
| Els punters de funció no s'utilitzen sovint incrustades en C, més cara de programació per a PC. Bàsicament, és un punter a una funció, i depenent de la funció de punter que assenyala, podeu executar diferents funcions que s'executen en la mateixa línia de codi.
Un exemple de forma d'utilitzar és que té un conjunt de punters, el que apunta tractants de missatge, cadascun dels diferents tipus de missatge que està dissenyat per mantenir el mateix índex com el controlador de missatge.
Per tant, vostè pot trucar a alguna cosa així com | Codi: | fnPtr [msg-> tipus] (msg);
| [/ Code]
Afegit: Un ús possible dels punters de funció incrustada en C, és una tasca del programador. |
|
| Tornar amunt | |
 |
njfane
Antiguitat: 27 d'octubre 2004 Llocs: 15
| 26 d'agost 2005 11:00 Re: Funció de Punters en C | | |
|
| és una bona opció per substituir en cas de canviar d'una màquina d'estats, utilitzant la funció punter, en el cas que la màquina ha estat molts casos canviar. que fa el programa més compacte. |
|
| Tornar amunt | |
 |
Bingo600
Antiguitat: 26 d'agost 2004 Llocs: 239 Ajudar: 14
| 27 d'agost 2005 14:35 Funció Punters en C | | |
|
| Aquest és un bon document sobre el tema
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Tornar amunt | |
 |
btbass
Antiguitat: 20 de juliol 2001 Publicacions: 1137 Ajudat: 106 Ubicació: Oberon
| 10 Sep 2005 15:21 Re: Funció de Punters en C | | |
|
| Funció dels punters són molt útils en els sistemes integrats. Racionalitzat com un switch. També molt útil en els sistemes de menú. Quan l'element de menú seleccionat és l'índex d'un punter functon matriu.
Per exemple, cada estat aquí funció retorna el següent estat a canviar. El codi per al control de tot un programa en una línia!
| Codi: | Estat /*--- funcions de la màquina. ---*/
UI_16 mode d'espera (void); UI_16 inici (void); UI_16 marxa (void);
/*--- Estat Machine. ---*/
enum (standby = 0, A PARTIR, DE FUNCIONAMENT);
/************************************************* ******************** * Nom de funció: principals * Descripció: Programa de punt d'entrada. Inicialitzar conjunt de punters de funció constant. Inicialitzar estat màquina al mode d'espera. Execució de la màquina d'estats.
************************************************** *******************/
SI_16 main (void) ( UI_16 (* const Motor_State []) (void) = (mode d'espera, d'inici, executant); Standby = UI_16 Estat;
per (;;){ Estat = Motor_State [Estat] (); / * funció d'estat anomenada * / ) )
/*--- Fi de fitxer. ---*/
|
|
|
| Tornar amunt | |
 |
raj_rohit10
Antiguitat: 14 de juliol 2004 Llocs: 113 Ajudar a: 1
| 13 Sep 2005 7:19 Re: Funció de Punters en C | | |
|
| hola el millor ús de la funció punter el que sento és la dels Estats Federats de Micronèsia implimentation i com es diu erlier 2 és una funció de trucada. |
|
| Tornar amunt | |
 |
abhishek_elec
Antiguitat: 09 Sep 2005 Llocs: 15 Ajudar a: 1 Ubicació: Índia
| 13 Sep 2005 12:42 Re: Funció de Punters en C | | |
|
| Els punters de funció són útils quan tenen una o generalitzades o procediment o alguna cosa i voleu utilitzar aquest procediment en diferents tipus de dades.
Per ex., Si tenen un bon o ordenar alguna cosa, i voleu utilitzar o mateix alguna cosa sobre el nombre, alfabètic, cadenes o qualsevol altre dada regeix la regla de classificació per part d'alguns. En aquest cas, u have a escriure només un "comparar" per a cada tipus de dades i en els principals algorismes de classificació, o passarà la funció de punter com un argument. D'aquesta manera, el mateix una cosa pot ser utilitzada per diferents PPL d'acord a la seva necessitat. No és necessari modificar en el cos principal d'alguna cosa. |
|
| Tornar amunt | |
 |
Yaseen
Antiguitat: 22 de gener 2006 Missatges: 9 Ajudar a: 1
| 27 d'agost de 2006 9:33 Re: Funció de Punters en C | | |
|
| He utilitzat la funció currenlty punters de C, en el meu projecte, que és l'editor de menú. El propòsit d'aquests indicadors és escriure una eficient, compacte i ràpid el codi. La meva codi saple està aquí;
int valor [] = (0x1F00, / / Alt S (^ El programa d'instal lació) 0x1400, / / Alt T (^ Baguls) 0x1200, / / Alt E (^ Extensions) 0x1800, / / Alt O (operador ^) 0x2600, / / Alt L (^ Tala) 0x1900, / / Alt P (^ Contrasenyes) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Ajuda) );
/ / ------ Punters a les funcions --------------------------------- void (* Executar [8 ])();// Menú Principal funcions void (* Configuració [3 ])();// Menú Tema funcions void (* Baguls [9 ])(); void (* Extensions [4 ])(); void (* Operador [3 ])(); void (* Tala [2 ])(); void (* Contrasenyes [3 ])(); void (* Configuració [6 ])(); void (* Ajuda [10 ])(); //------------------------------------------------ ---------------
main () ( .... / / Inicialitzar Funció punters Executar [0] = ProcessSetup; Executar [1] = ProcessTrunks; Executar [2] = ProcessExtensions; Executar [3] = ProcessOperator; Executar [4] = ProcessLogging; Executar [5] = ProcessPasswords; Executar [6] = ProcessSettings; Executar [7] = ProcessHelp; ......
/ / Llegir el teclat ... i = bioskey (1); si (i) / / Si el teclat llest ... clau = bioskey (0); una mica més continuar; / / Si el teclat no està llest llavors seguir veient
/ / Executa al menú seleccionat per l'usuari per (j = 0; j <8; j ) ( if (password == valor [j]) ( if (! inProcess) ( inProcess = 1; Executar [j] (); ) ) else if (password == 0x2D00) / / premeu Alt X és a dir, deixar de ... retorn; ) .......... |
|
| Tornar amunt | |
 |