| Autor | Mensaje |
|---|
cereza
Antigüedad: 19 de julio 2005 Publicaciones: 3
| 25 de agosto 2005 7:01 Función Punteros en C | | |
|
| Dónde y en qué situaciones se puede utilizar la función de los punteros de C en Embedded?
¿Puede alguien explicar?
Gracias ..... Cherry |
|
| Volver arriba | |
 |
Google AdSense

| 25 de agosto 2005 7:01 anuncios | | |
|
|
|
|
| Volver arriba | |
 |
IANP
Antigüedad: 05 de octubre 2004 Publicaciones: 6454 Ayudado: 1535 Ubicación: Costa Oeste
| 25 de agosto 2005 7:24 Re: Función de Punteros en C | | |
|
| | Cita: | | Punteros a funciones no son tan comunes como otros usos puntero. Sin embargo, un uso común es un paso en los punteros a una función como parámetro en una llamada a una función. | http://www.cs.cf.ac.uk/Dave/C/node12.html Recuerdos, IANP |
|
| Volver arriba | |
 |
echo47
Antigüedad: 07 de abril 2002 Publicaciones: 4206 Ayudado: 566
| 25 de agosto 2005 8:13 Función Punteros en C | | |
|
| | Otra aplicación común es una función de llamada. Por ejemplo, usted desea que Windows para llamar a su función de grabador de audio de Windows cada vez que recibe las muestras procedentes de los micrófonos. Windows le da un puntero a su función de grabadora de audio. |
|
| Volver arriba | |
 |
jaque mate
Antigüedad: 26 de febrero 2004 Puestos: 489 Ayudó: 35 Lugar: Sede de sanitarios
| 25 de agosto 2005 13:23 Re: Función de Punteros en C | | |
|
| Los punteros de función no se utilizan a menudo incrustadas en C, más cara de programación para PC. Básicamente, es un puntero a una función, y dependiendo de la función de puntero que señala, puede ejecutar diferentes funciones que se ejecutan en la misma línea de código.
Un ejemplo de forma de utilizarlo es que tiene un conjunto de punteros, lo que apunta a tratantes de mensaje, cada uno de los diferentes tipo de mensaje que está diseñado para mantener el mismo índice como el manejador de mensaje.
Por lo tanto, usted puede llamar a algo así como | Código: | fnPtr [msg-> tipo] (msg);
| [/ code]
Añadido: Un uso posible de los punteros de función incrustada en C, es una tarea del programador. |
|
| Volver arriba | |
 |
njfane
Antigüedad: 27 de octubre 2004 Puestos: 15
| 26 de agosto 2005 11:00 Re: Función de Punteros en C | | |
|
| es una buena opción para sustituir en caso de cambiar de una máquina de estados, utilizando la función puntero, en el caso de que la máquina ha estado muchos casos cambiar. que hace el programa más compacto. |
|
| Volver arriba | |
 |
Bingo600
Antigüedad: 26 de agosto 2004 Puestos: 239 Ayudó: 14
| 27 de agosto 2005 14:35 Función Punteros en C | | |
|
| Este es un buen documento sobre el tema
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Volver arriba | |
 |
btbass
Antigüedad: 20 de julio 2001 Publicaciones: 1137 Ayudado: 106 Ubicación: Oberon
| 10 Sep 2005 15:21 Re: Función de Punteros en C | | |
|
| Función de los punteros son muy útiles en los sistemas integrados. Racionalizado como un switch. También muy útil en los sistemas de menú. Cuando el elemento de menú seleccionado es el índice de un puntero functon matriz.
Por ejemplo, cada estado aquí función devuelve el siguiente estado a cambiar. El código para el control de todo un programa en una línea!
| Código: | Estado /*--- funciones de la máquina. ---*/
UI_16 modo de espera (void); UI_16 inicio (void); UI_16 marcha (void);
/*--- Estado Machine. ---*/
enum (STANDBY = 0, A PARTIR, DE FUNCIONAMIENTO);
/************************************************* ******************** * Nombre de función: principales * Descripción: Programa de punto de entrada. Inicializar conjunto de punteros de función constante. Inicializar estado máquina al modo de espera. Ejecución de la máquina de estados.
************************************************** *******************/
SI_16 main (void) ( UI_16 (* const Motor_State []) (void) = (modo de espera, de inicio, ejecutando); STANDBY = UI_16 Estado;
para (;;){ Estado = Motor_State [Estado] (); / * función de estado llamada * / ) )
/*--- Fin de archivo. ---*/
|
|
|
| Volver arriba | |
 |
raj_rohit10
Antigüedad: 14 de julio 2004 Puestos: 113 Ayudó a: 1
| 13 Sep 2005 7:19 Re: Función de Punteros en C | | |
|
| hola el mejor uso de la función puntero lo que siento es la de los Estados Federados de Micronesia implimentation y como se dice erlier 2 es una función de llamada. |
|
| Volver arriba | |
 |
abhishek_elec
Antigüedad: 09 Sep 2005 Puestos: 15 Ayudó a: 1 Ubicación: India
| 13 Sep 2005 12:42 Re: Función de Punteros en C | | |
|
| Los punteros de función son útiles cuando tienen una u generalizadas o procedimiento u algo y desea utilizar este procedimiento en diferentes tipos de datos.
Por ej., Si tienen un buen u ordenar algo, y desea utilizar u mismo algo sobre el número, alfabético, cadenas o cualquier otro dato rige la regla de clasificación por parte de algunos. En este caso, u have a escribir sólo un "comparar" para cada tipo de datos y en los principales algoritmos de clasificación, u pasará la función de puntero como un argumento. De esta manera, el mismo algo puede ser usado por diferentes PPL de acuerdo a su necesidad. No es necesario modificar en el cuerpo principal de algo. |
|
| Volver arriba | |
 |
Yaseen
Antigüedad: 22 de enero 2006 Mensajes: 9 Ayudó a: 1
| 27 de agosto 2006 9:33 Re: Función de Punteros en C | | |
|
| He utilizado la función currenlty punteros de C, en mi proyecto, que es el editor de menú. El propósito de estos indicadores es escribir una eficiente, compacto y rápido el código. Mi código saple está aquí;
int valor [] = (0x1F00, / / Alt S (^ El programa de instalación) 0x1400, / / Alt T (^ Baúles) 0x1200, / / Alt E (^ Extensiones) 0x1800, / / Alt O (operador ^) 0x2600, / / Alt L (^ Tala) 0x1900, / / Alt P (^ Contraseñas) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Ayuda) );
/ / ------ Punteros a las funciones --------------------------------- void (* Ejecutar [8 ])();// Menú Principal funciones void (* Configuración [3 ])();// Menú Tema funciones void (* Baúles [9 ])(); void (* Extensiones [4 ])(); void (* Operador [3 ])(); void (* Tala [2 ])(); void (* Contraseñas [3 ])(); void (* Configuración [6 ])(); void (* Ayuda [10 ])(); //------------------------------------------------ ---------------
main () ( .... / / Inicializar Función punteros Ejecutar [0] = ProcessSetup; Ejecutar [1] = ProcessTrunks; Ejecutar [2] = ProcessExtensions; Ejecutar [3] = ProcessOperator; Ejecutar [4] = ProcessLogging; Ejecutar [5] = ProcessPasswords; Ejecutar [6] = ProcessSettings; Ejecutar [7] = ProcessHelp; ......
/ / Leer el teclado ... i = bioskey (1); si (i) / / Si el teclado listo ... clave = bioskey (0); algo más continuar; / / Si el teclado no está listo entonces seguir viendo
/ / Ejecutar en el menú seleccionado por el usuario para (j = 0; j <8; j ) ( if (clave == valor [j]) ( if (! inProcess) ( inProcess = 1; Ejecutar [j] (); ) ) else if (clave == 0x2D00) / / presiona Alt X es decir, dejar de ... retorno; ) .......... |
|
| Volver arriba | |
 |