typedef unsigned long uint32;
typedef unsigned long long uint64;
Esimerkkejä siitä, mitä syntyisi, jos allaolevan makron saisi määriteltyä oikein:
uint64 dv64_3(uint64 arg) {
dv64s(3);
uint64 r = arg / 3;
dv64e(3);
return r;
}
http://keskustelu.suomi24.fi/tiede-ja-teknologia/tietotekniikka/naytot-ja-naytonohjaimetuint64 dv64_5(uint64 arg) {
dv64s(5);
uint64 r = arg / 5;
dv64e(5);
return r;
}
uint64 dv64_7(uint64 arg) {
dv64s(7);
uint64 r = arg / 7;
dv64e(7);
return r;
}
// Makromäärittely: mitä ???:n paikalle pitäisi laittaa ?
#define routine(DIVISOR) uint64 dv64_???(uint64 arg) { dv64s(DIVISOR); uint64 r = arg / DIVISOR; dv64e(DIVISOR); return r; }
// jotta allaolevat toimisivat oikein?
routine(11)
routine(13)
routine(17)
routine(19)
routine(23)
// JOS makromäärittely saadaan oikein, niin allaolevat tuottaisivat vastaavaa koodia kuin ylimmät kolme valmiiksi kirjoitettua aliohjelmaa:
routine(3)
routine(5)
routine(7)
Onnistuuko tällainen funktioiden määrittely makrojen avulla ?
funktioiden määrittely makron avulla?
C_funktionAutomKirjoitus
1
102
Vastaukset
- C-tuki
kas näin:
#define routine(DIVISOR) uint64 dv64_##DIVISOR(uint64 arg) { dv64s(DIVISOR); uint64 r = arg / DIVISOR; dv64e(DIVISOR); return r; }
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225164- 254358
- 272471
- 342254
- 371998
- 151918
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191597- 121531
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211257Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101174