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
104
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
- 1077793
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1136064- 835197
- 1394556
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113230- 623024
- 582948
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066