Regles | Enviaments recents | tema RSS | Cerca | Registre | Iniciar sessió

Funció Punters en C



Post new topic Reply to topic EDAboard.com Índex Fòrum -> PC i la interfície de programació -> Funció Punters en C
Versió en àrab Búlgar versió Versió en català Versió txeca Versió danesa Versió alemanya Versió grega Versió Anglès Versió en espanyol Versió finlandesa Versió en francès Versió Hindi Versió croat Indonesi versió Versió italiana Versió hebrea Versió en japonès Versió coreana Versió lituana Versió letona Versió neerlandesa Noruec versió Versió polonesa Versió en portuguès Versió romanesa Versió en rus Versió eslovaca Versió eslovena Serbi versió Versió Sueca Tagàlog versió Ucraïnès versió Versió Vietnamita Versió en xinès
Autor Missatge
cirera



Antiguitat: 19 de juliol 2005
Publicacions: 3


Post 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
View user's profile
IANP



Antiguitat: 05 d'octubre 2004
Posts: 6454
Ajudat: 1535
Ubicació: Costa Oest


Post 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
View user's profile
Google
AdSense





Post 25 d'agost 2005 7:24 anuncis



Tornar amunt
echo47



Antiguitat: 07 d'abril 2002
Posts: 4206
Ajudat: 566


Post 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
View user's profile
escac mat



Antiguitat: 26 de febrer 2004
Llocs: 489
Ajudar: 35
Lloc: Seu de sanitaris


Post 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
View user's profile
njfane



Antiguitat: 27 d'octubre 2004
Llocs: 15


Post 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
View user's profile
Bingo600



Antiguitat: 26 d'agost 2004
Llocs: 239
Ajudar: 14


Post 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
View user's profile
btbass



Antiguitat: 20 de juliol 2001
Publicacions: 1137
Ajudat: 106
Ubicació: Oberon


Post 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
View user's profile
raj_rohit10



Antiguitat: 14 de juliol 2004
Llocs: 113
Ajudar a: 1


Post 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
View user's profile
abhishek_elec



Antiguitat: 09 Sep 2005
Llocs: 15
Ajudar a: 1
Ubicació: Índia


Post 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
View user's profile
Yaseen



Antiguitat: 22 de gener 2006
Missatges: 9
Ajudar a: 1


Post 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
View user's profile
Post new topic Reply to topic EDAboard.com Índex Fòrum -> PC i la interfície de programació -> Funció Punters en C
Pàgina 1 de 1 Totes les hores són GMT 2 Hores


Abús | | Administrador | | Moderadors | | Ajuda | | Mapa del lloc
RSS tema