Portál AbcLinuxu, 10. května 2025 03:19
#define Round256(p0, p1) \ X##p0 += X##p1;toto makro je zadefinovane priamo v tele jednej funkcia, v ktorej sa nenachadza ziadna premenna "X". Taktiez neviem co robi znak # v tomto kontexte. Vie mi to niekto vysvetlit? Dakujem.
Řešení dotazu:
Round256(abc, xyz)
se rozbali na
Xabc += Xxyz;
Jinak pomoci parametru -E, lze gcc rici, aby pustilo jen preprocesor, takze se pak lze jednoduse podivat co vzniklo po expanzi vsech maker...
echo "#define Round256(p0, p1) X##p0 += X##p1;\nRound256(abc, xyz)" | gcc -E -
-e.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.