20160208.1409: Hát kérem, ha nem nézem rosszul, akkor a gcc-nek ez a korszerűtlen 4.8.3-as verziója megeszi azt, hogy sizeof (ssize_t), de nem tetszik neki az, hogy sizeof ((ssize_t))
Példa:
size_t s= 0;
s += sizeof (ssize_t); /* ez jó */
s += sizeof ((ssize_t)); /* ez nem */
return 0;
20160208.1420: És ez még csak nem is a hiba oka, csak amolyan érdekesség!
20160208.2030: Ez csak amolyan óvatosság a configure részéről: ha a compiler nem szeretné a sizeof (xtipus) -t, esetleg még mindig szeretheti a sizeof ((xtipus)) -t. Hát biztos.
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
Ez ugye ma történt és nem tavaly;)
- A hozzászóláshoz be kell jelentkezni
megbuktam:)
köszi, javítottam
- A hozzászóláshoz be kell jelentkezni
sizeof (ssize_t) es sizeof ((ssize_t)) esete sztem teljesen ertheto.
Masodik esetben a (ssize_t) kiertekelodik forditasi idoben es arra hivnad meg forditasi idoben a sizeof-ot.
Ez igy persze hogy nem mukodhet sok dolog miatt.
- A hozzászóláshoz be kell jelentkezni
A ssize_t nem nagyon tud kiértékelődni, mivel ő egy typedef az 'unsigned long'-ra (LP64-ban vagyunk, tehát ez jó így); ugyanez a szintaxis más típusra is hibás:
s += sizeof (ssize_t); /* ez jó */
s += sizeof ((ssize_t)); /* ez nem */
s += sizeof (int); /* ez jó */
s += sizeof ((int)); /* ez nem */
proba1.c:11:27: error: expected expression before ')' token
s += sizeof ((ssize_t)); /* ez nem */
^
proba1.c:14:23: error: expected expression before ')' token
s += sizeof ((int)); /* ez nem */
- A hozzászóláshoz be kell jelentkezni
Na szóval a LDFLAGS állt rosszul, a ./configure meg egyes conftest-programokat LDFLAGS-sal fordított, másokat meg anélkül, az előbbiek nem sikerültek, az utóbbiak igen.
- A hozzászóláshoz be kell jelentkezni