[elektro] arm c

uprogc . uprogc at gmail.com
Fri Jul 17 14:40:08 CEST 2015


Fuggveny mutato letrehozasa:

*void (*pf)(int foo, int bar);*

Egyenerteku hivasok.


*pf(1, 0);(*pf)(1, 0);*

Mivel fuggvenynek argumentumkent nem adhatsz at fuggvenyt  ezert letezik a
fuggvenymutato, ez utobbi atadhato.


U,
Szabi

2015-07-17 15:20 GMT+03:00 Skandar Graun <sgraun at gmail.com>:

> Húúú, akkor kezdem megint túrni a netet a kifejtésért... de kezdésnek jó,
> köszönöm. Csak még meg kell emésztenem.
>
> Szóval nem volatile, hanem extern... a main-ban megadom simán, majd ahol
> még használni akarom, ott megint, de extern kiterjesztéssel.
>
> 2015. július 17. 14:13 Kiss Gabor írta, <kissg at ssg.ki.iif.hu>:
>
> > On 07/17/2015 02:01 PM, Skandar Graun wrote:
> > > van egy hívás:
> > >
> > > udp_recv(upcb, udp_receive_callback, NULL);
> > >
> > > Ebben szerepel az " udp_receive_callback" paraméter, ami csak és
> > kizárólag
> > > egy másik függvény neve.
> > >
> > > void udp_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf
> > *p,
> > > struct ip_addr *addr, u16_t port)
> > >
> > > Most vagy én értek valamit félre (a függvényhívás mindig ()-es
> > kifejezéssel
> > > végződik)
> >
> > Eddig mindkét feltételezésed helytálló. :-)
> >
> > > Vagy itt valami más, eddig általam nem ismert szintaktika létezik.
> >
> > Bizony. Ez nem függvényHÍVÁS. Hanem egy pointer, ami a függvényre mutat.
> >
> > >
> > > A másik hasonló kérdés: Itt van millióegy file, millióegy deklarációs
> > > résszel.
> > > De valahogy nem sikerül egymással kapcsolatot teremteni... ha jól
> > > emlékszem, akkor a "volatile" kiterjesztés tenné globálissá, mindenhol
> > > láthatóvá a változót.
> >
> > Rosszul.
> > A volatile tárolási osztályú változókat a compiler nem optimalizálja,
> > nem cache-eli, hanem minden egyes felhasználáskor újra kiolvassa a
> > megfelelő memóriacímről, hátha közben valami rejtett mechanizmus
> > megváltoztatta az értékét. Memory mapped I/O esetén jól látszik az
> > értelme.
> >
> > > Csak nem sikerül.
> > > Mit kellene csinálni, mit szúrunk el?
> >
> > Ami nem static, az globális, látható más fordítási egységből is.
> > (Ahol viszont externalként kell deklarálni.)
> >
> > kissg
> >
> > -----------------------------------------
> >           elektro[-flame|-etc]
> >
> -----------------------------------------
>           elektro[-flame|-etc]


More information about the Elektro mailing list