Regole | Recenti | argomento RSS | Ricerca | Registrati | Entra

Funzioni Puntatori in C



Post new topic Reply to topic EDAboard.com Indice del forum -> Programmazione e interfaccia PC -> Funzione Puntatori in C
Versione araba Versione bulgara Versione catalana Versione ceca Versione danese Versione tedesca Versione greca Versione in lingua inglese Versione spagnola Versione finlandese Versione francese Hindi versione Versione croata Indonesiano versione Versione italiana Ebraico versione Versione giapponese Versione coreana Versione lituana Versione lettone Versione in lingua olandese Versione norvegese Versione polacca Versione portoghese Versione rumena Versione russa Versione slovacca Versione slovena Serbo versione Versione svedese Tagalog versione Ucraino versione Versione vietnamita Versione cinese
Autore Messaggio
ciliegia



Iscritto il: 19 luglio 2005
Interventi: 3


Post 25 agosto 2005 7:01 Funzione Puntatori in C

Dove e in quali situazioni si può utilizzare la funzione di puntatori in C Embedded?

Qualcuno può spiegare?

Grazie ..... Ciliegio
Torna a inizio pagina
View user's profile
IanP



Iscritto il: 05 ottobre 2004
Interventi: 6454
Aiutato: 1535
Località: West Coast


Post 25 agosto 2005 7:24 Re: Funzione Puntatori in C

Citazione:
Puntatori a funzioni non sono così comuni come il puntatore altri usi. Tuttavia, un uso comune è in un passaggio puntatori a una funzione come un parametro in una chiamata di funzione.

http://www.cs.cf.ac.uk/Dave/C/node12.html
Saluti,
IanP
Torna a inizio pagina
View user's profile
echo47



Iscritto il: 07 aprile 2002
Interventi: 4206
Contribuito: 566


Post 25 agosto 2005 8:13 Funzione Puntatori in C

Un'altra applicazione è una comune funzione di callback. Ad esempio, si desidera che Windows per chiamare la funzione di registratore audio di Windows ogni volta che riceve alcuni campioni dal microfono. Si danno di Windows un puntatore a funzione registratore audio.
Torna a inizio pagina
View user's profile
Google
AdSense





Post 25 agosto 2005 8:13 Annunci



Torna a inizio pagina
scacco matto



Iscritto il: 26 febbraio 2004
Interventi: 489
Contribuito: 35
Ubicazione: WC Seat


Post 25 agosto 2005 13:23 Re: Funzione Puntatori in C

Funzione di puntatori non sono spesso utilizzati in embedded C, più di programmazione per PC. Fondamentalmente, si tratta di un puntatore a una funzione, e a seconda di quale funzione il puntatore punti, è possibile attuare diverse funzioni per essere eseguiti nella stessa riga di codice.

Un esempio del modo di usarlo è che hai un array di puntatori funzione, che punti al messaggio che praticano, ciascuna di un diverso tipo di messaggio che è stato progettato per mantenere lo stesso indice di come la gestione dei messaggi.

Quindi, è possibile chiamare qualcosa di simile
Codice:

fnPtr [MSG-> tipo] (msg);
[/ code]

Aggiunto:
Una possibile utilizzare la funzione di puntatori incorporati C, è un compito programmatore.
Torna a inizio pagina
View user's profile
njfane



Iscritto il: 27 ottobre 2004
Interventi: 15


Post 26 agosto 2005 11:00 Re: Funzione Puntatori in C

è una buona scelta per sostituire passare in uno stato macchina utilizzando la funzione puntatore,
nel caso che la macchina è stato passare troppi casi. programma rende più compatta.
Torna a inizio pagina
View user's profile
Bingo600



Iscritto il: 26 agosto 2004
Interventi: 239
Contribuito: 14


Post 27 agosto 2005 14:35 Funzione Puntatori in C

Questo è un buon documento sul tema

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

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

/ Bingo
Torna a inizio pagina
View user's profile
btbass



Iscritto il: 20 luglio 2001
Interventi: 1137
Contribuito: 106
Ubicazione: Oberon


Post 10 set 2005 15:21 Re: Funzione Puntatori in C

Funzione puntatori sono molto utili in sistemi embedded. Come un razionalizzato switch. Molto utile anche nel menu sistemi. Se la voce del menu selezionato è l'indice di un array functon puntatore.

Ad esempio, ogni Stato funzione qui ritorna il prossimo Stato a passare.
Il codice di controllo per un intero programma in una riga!

Codice:

/*--- Stato le funzioni della macchina. ---*/

UI_16 standby (void);
UI_16 partenza (void);
UI_16 esecuzione (void);

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

enum (STANDBY = 0, a partire, in esecuzione);

/************************************************* ********************
* Funzione Nome: principali
* Descrizione: Programma di punto di ingresso.
Inizializza array di puntatori funzione costante.
Inizializza stato della macchina in modalità standby.
Eseguire stato macchina.

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

SI_16 main (void)
(
UI_16 (* const Motor_State []) (void) = (standby, a partire, in esecuzione);
STANDBY = UI_16 membro;


per (;;){
= Motor_State Stato [membro] (); / * chiamata funzione di stato * /
)
)

/*--- Fine del file. ---*/
Torna a inizio pagina
View user's profile
raj_rohit10



Iscritto il: 14 luglio 2004
Interventi: 113
Contribuito: 1


Post 13 Set 2005 7:19 Re: Funzione Puntatori in C

ciao
il miglior uso della funzione puntatore quello che sento è la implimentation del FSM e come si è detto erlier 2a uno è chiamata la funzione.
Torna a inizio pagina
View user's profile
abhishek_elec



Iscritto il: 09 Set 2005
Interventi: 15
Contribuito: 1
Località: India


Post 13 Set 2005 12:42 Re: Funzione Puntatori in C

Funzione puntatori sono utili quando si ha un u generalizzate o algo e u desidera utilizzare questa procedura su diversi tipi di dati.

Per es., Se u avere un buon algoritmo di smistamento, e u desidera utilizzare stesso algo sui numeri, in ordine alfabetico, di tutti i dati o stringhe disciplinate da alcuni cernita regola. In tal caso, e sono ad appena scrivere un altro "confrontare" la funzione per ogni tipo di dati e nei principali algo cernita, e passerà la funzione come argomento un puntatore.
In questo modo, lo stesso algoritmo può essere utilizzato da diversi ppl in base alle loro necessità. Nessuna modifica è necessaria nel corpo principale del algo.
Torna a inizio pagina
View user's profile
yaseen



Iscritto il: 22 gennaio 2006
Interventi: 9
Contribuito: 1


Post 27 agosto 2006 9:33 Re: Funzione Puntatori in C

Ho usato la funzione currenlty puntatori C nel mio progetto, che è l'editor di menu. Lo scopo di questi indicatori è quella di scrivere un efficiente, compatto e veloce codice. Il mio codice saple è qui;

Rapporto int [] = (0x1F00, / / Alt S (^ installazione)
0x1400, / / Alt T (^ Bauli)
0x1200, / / Alt E (^ estensioni)
0x1800, / / Alt O (^ Operatore)
0x2600, / / Alt L (^ Logging)
0x1900, / / Alt P (^ Password)
0x2200, / / Alt G (Settin ^ gs)
0x2300 / / Alt H (^ Guida)
);

/ / ------ Puntatori a funzioni ---------------------------------
void (* Execute [8 ])();// Main Menu funzioni
void (* il programma di installazione [3 ])();// Voce di menu funzioni
void (* Bauli [9 ])();
void (* Estensioni [4 ])();
void (* Operatore [3 ])();
void (* Registrazione [2 ])();
void (* Password [3 ])();
void (* Impostazioni [6 ])();
void (* Aiuto [10 ])();
//------------------------------------------------ ---------------

main ()
(
....
/ / Initialize funzione puntatori
Execute [0] = ProcessSetup;
Eseguire [1] = ProcessTrunks;
Eseguire [2] = ProcessExtensions;
Eseguire [3] = ProcessOperator;
Eseguire [4] = ProcessLogging;
Eseguire [5] = ProcessPasswords;
Eseguire [6] = ProcessSettings;
Eseguire [7] = ProcessHelp;
......

/ / Leggi la tastiera ...
i = bioskey (1);
se (i) / / Se la tastiera pronto ...
key = bioskey (0);
altro
continuare; / / Se la tastiera non è pronto poi continuare a guardare lo

/ / Esegue il menu selezionato da un utente
for (j = 0; j <8; j )
(
if (tasto == Rapporto [j])
(
if (! inProcess)
(
inProcess = 1;
Eseguire [j] ();
)
)
else if (key == 0x2D00) / / Alt X premuto ... cioè Chiudere
andata e ritorno;
)
..........
Torna a inizio pagina
View user's profile
Post new topic Reply to topic EDAboard.com Indice del forum -> Programmazione e interfaccia PC -> Funzione Puntatori in C
Pagina 1 di 1 Tutti gli orari sono GMT 2 ore


Abuso | | Administrator | | Moderatori | | Aiutaci | | Mappa del sito
topic RSS