Säännöt | Recent posts | aihe RSS | Haku | Rekisteröidy | Kirjaudu

Tehtävä Osoittimet C



Post new topic Reply to topic EDAboard.com Foorumin päävalikko -> PC-ohjelmointi ja rajapinnat -> Tehtävä Osoittimet C
Arabiankielinen toisinto Bulgaria versio Katalaani versio Tšekki versio Tanska versio Saksa versio Kreikankielinen toisinto Englanti versio Espanja versio Ruotsinkielinen versio Ranska versio Hindi versio Kroatia versio Indonesia versio Italian version Heprea versio Japanin versio Korealainen versio Liettua versio Latvia versio Hollanti versio Norja versio Puola versio Portugali versio Romania versio Venäjä versio Slovakian versio Sloveeni versio Serbia versio Ruotsinkielinen versio Tagalog versio Ukraina versio Vietnam versio Kiina versio
Laatija Viesti
kirsikka



Liittynyt: 19 heinäkuu 2005
Posts: 3


Post 25 elokuu 2005 7:01 Tehtävä Osoittimet C

Missä ja millä tilanteissa voimme käyttää funktio-osoittimia C sulautettujen?

Voiko joku selittää?

Kiitos ..... Cherry
Palaa alkuun
View user's profile
IanP



Liittynyt: 05 lokakuu 2004
Posts: 6454
Auttanut: 1535
Location: West Coast


Post 25 elokuu 2005 7:24 Re: Tehtävä Osoittimet C

Quote:
Osoittimet toiminnot eivät ole yhtä yleisiä kuin muissa pointer käyttötarkoituksiin. Kuitenkin yksi yhteinen käyttö on ohimenevä viitteet toiminnon kuin parametria toiminto soittaa.

http://www.cs.cf.ac.uk/Dave/C/node12.html
Terveisin,
IanP
Palaa alkuun
View user's profile
Google
AdSense





Post 25 elokuu 2005 7:24 Mainokset



Palaa alkuun
echo47



Liittynyt: 07 huhtikuu 2002
Posts: 4206
Auttanut: 566


Post 25 elokuu 2005 8:13 Tehtävä Osoittimet C

Toinen yleinen sovellus on takaisinsoittoa toiminto. Jos esimerkiksi haluat Windowsin soittaa audio-tallennin toiminnon joka kerta, kun Windows saa joitakin näytteitä mikrofonista. Annat Windows yksi osoitin teidän audio-tallennin-toimintoa.
Palaa alkuun
View user's profile
matti



Liittynyt: 26 helmikuu 2004
Posts: 489
Auttanut: 35
Paikka: WC-istuin


Post 25 elokuu 2005 13:23 Re: Tehtävä Osoittimet C

Tehtävä viitteet eivät usein käytetty sulautettujen C enemmän PC puolella mukainen. Pohjimmiltaan se on osoitin haluamasi toiminnon, ja sen mukaan, mikä toiminto osoitinta huomauttaa, voit toteuttaa erilaisia tehtäviä täytetään samalla rivillä koodia.

Yksi esimerkki tapa käyttää sitä, että sinulla on joukko funktio-osoittimia, mikä viittaa viesti käsittelijät, ja jokainen toisenlaisen viestin tyyppi, joka on suunniteltu pitämään saman indeksin viestin käsittelijälle.

, Jotta voit soittaa jotain
Code:

fnPtr [msg-> type] (msg);
[/ code]

Lisätty:
Yksi mahdollinen käyttö funktio-osoittimia sulautettujen C, on tehtävä scheduler.
Palaa alkuun
View user's profile
njfane



Liittynyt: 27 lokakuu 2004
Posts: 15


Post 26 elokuu 2005 11:00 Re: Tehtävä Osoittimet C

se on hyvä valinta korvata kytkin tapauksessa valtion koneella käyttäen toiminnon osoitin,
siinä tapauksessa, että valtion kone on liian monta kytkin tapauksissa. se tekee ohjelman tasaisempi.
Palaa alkuun
View user's profile
Bingo600



Liittynyt: 26 elokuu 2004
Posts: 239
Auttanut: 14


Post 27 elokuu 2005 14:35 Tehtävä Osoittimet C

Tämä on mukava dokument tästä aiheesta

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

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

/ Bingo
Palaa alkuun
View user's profile
btbass



Liittynyt: 20 heinäkuu 2001
Posts: 1137
Auttanut: 106
Paikka: Oberon


Post 10 Sep 2005 15:21 Re: Tehtävä Osoittimet C

Tehtävä viitteet ovat erittäin hyödyllisiä sulautetut järjestelmät. Kuten virtaviivaisten kytkin julkilausuman. Myös erittäin hyödyllistä valikossa järjestelmiä. Jos valikkotoimintoa elinkaari on indeksi, joka functon pointer array.

Esimerkiksi jokaisen valtion toiminta tässä palauttaa ensi tilassa vaihtaa.
Valvonnasta koodi koko ohjelma on yksi rivi!

Code:

/*--- Valtion koneen toimintoja. ---*/

UI_16 valmiustilassa (void);
UI_16 alkaen (void);
UI_16 käynnissä (void);

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

enum (STANDBY = 0, LÄHTÖAINEISTA, RUNNING);

/************************************************* ********************
* Tehtävä Nimi: main
* Kuvaus: Program maahantulopaikkaan.
Initialise array jatkuva funktio-osoittimia.
Initialise valtion koneen valmiustilaan.
Execute valtion koneella.

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

SI_16 main (void)
(
UI_16 (* const Motor_State []) (void) = (valmiustilassa alkaen, juokseva);
UI_16 valtion = STANDBY;


varten (;;){
Valtion = Motor_State [valtio] (); / * Puheluista valtion toiminnon * /
)
)

/*--- Loppu tiedosto. ---*/
Palaa alkuun
View user's profile
raj_rohit10



Liittynyt: 14 heinäkuu 2004
Posts: 113
Auttanut: 1


Post 13 Sep 2005 7:19 Re: Tehtävä Osoittimet C

hei
paras mahdollinen käyttö toiminto pointer mikä on mielestäni implimentation Mikronesian ja koska se on kertonut erlier 2. yksi soittaa takaisin-toiminto.
Palaa alkuun
View user's profile
abhishek_elec



Liittynyt: 09 Sep 2005
Posts: 15
Auttanut: 1
Sijainti: Intia


Post 13 Sep 2005 12:42 Re: Tehtävä Osoittimet C

Tehtävä viitteet ovat hyödyllisiä, kun u on yleinen menettely tai algo ja u halua käyttää tätä menettelyä erilaisia tietoja.

Ex., Jos u on hyvä lajittelu algo, ja u halua käyttää samoja algo lukumäärästä, aakkosellinen, merkkijonoja tai mitään tietoja hallitaan noin lajittelu sääntö. Siinä tapauksessa, u on vain kirjoittaa eri "vertailla"-toimintoa kunkin tietotyyppi ja tärkeimmät lajittelu algo, u välitän toiminnon osoitin kuin väitettä.
Näin saman algo voidaan käyttää eri ppl mukaan niiden tarvetta. Ei muutoksia tarvitaan päärungolla algo.
Palaa alkuun
View user's profile
yaseen



Liittynyt: 22 tammikuu 2006
Posts: 9
Auttanut: 1


Post 27 elokuu 2006 9:33 Re: Tehtävä Osoittimet C

Olen currenlty käyttänyt funktio-osoittimia minun C-projekti, joka on valikkopalkki ajaa editorissa. Tarkoituksena theses viitteet on kirjoittaa tehokas, pienikokoinen ja nopea koodi. Oma koodi saple on täällä;

int arvo [] = (0x1F00, / / Alt S (^ Setup)
0x1400, / / Alt T (^ Matka-arkut)
0x1200, / / Alt E (^ Extensions)
0x1800, / / Alt O (^ Operator)
0x2600, / / Alt L (^ Logging)
0x1900, / / Alt P (^ salasanat)
0x2200, / / Alt G (Settin ^ gs)
0x2300 / / Alt H (^ Ohje)
);

/ / ------ Osoittimet toimintoja ---------------------------------
void (* Execute [8 ])();// Päävalikko toiminnot
void (* Setup [3 ])();// Valikko Alamomentti toiminnot
void (* Matka-arkut [9 ])();
void (* Extensions [4 ])();
void (* Operaattorin [3 ])();
void (* Logging [2 ])();
void (* Salasanat [3 ])();
void (* Asetukset [6 ])();
void (* Ohje [10 ])();
//------------------------------------------------ ---------------

main ()
(
....
/ / Alusta funtion viitteet
Execute [0] = ProcessSetup;
Execute [1] = ProcessTrunks;
Execute [2] = ProcessExtensions;
Execute [3] = ProcessOperator;
Execute [4] = ProcessLogging;
Execute [5] = ProcessPasswords;
Execute [6] = ProcessSettings;
Execute [7] = ProcessHelp;
......

/ / Lue näppäimistö ...
i = bioskey (1);
jos (i) / / Jos näppäimistö valmis ...
key = bioskey (0);
muuten
jatkaa; / / Jos näppäimistö ei ole valmis jatka katsomista

/ / Execute valikosta valitaan käyttäjä
for (j = 0, j <8, j )
(
if (avain == arvo [j])
(
if (! inProcess)
(
inProcess = 1;
Execute [j] ();
)
)
else if (avain == 0x2D00) / / Alt X painetaan ... eli Lopeta
return;
)
..........
Palaa alkuun
View user's profile
Post new topic Reply to topic EDAboard.com Foorumin päävalikko -> PC-ohjelmointi ja rajapinnat -> Tehtävä Osoittimet C
Sivu 1 / 1 Kaikki ajat ovat GMT 2 Hours


Väärinkäyttö | | Administrator | | Moderaattorit | | Tue meitä | | sivukartta
topic RSS