gcc -o gull_jm.exe gull.cpp
gull.cpp:3402:22: error: pasting "PEI" and "." does not give a valid preprocessing token
int kf = File(PVarC(PEI, king, me));
^
gull.cpp:83:39: note: in definition of macro 'PVarC'
#define PVarC(prefix,var,me) ((me) ? (prefix##.##var##_b) : (prefix##.##var##_w))
^
gull.cpp:83:47: error: pasting "." and "king" does not give a valid preprocessing token
#define PVarC(prefix,var,me) ((me) ? (prefix##.##var##_b) : (prefix##.##var##_w))
^
...
#define
handhaben. Die Teilausdrücke müssen bei jeder Ersetzung einen gültigen Ausdruck ergeben. Hier werden zwei Ersetzungen vorgenommen - und der erste ist in den gemeldeten Fehlern nicht gültig. Anders arbeitet Visual C++: da wird der Gesamtausdruck erst nach der Ausführung aller Ersetzungen ausgewertet. Deswegen lässt sich Gull3 mit VC, aber nicht mit minGW kompilieren. Die Sprachdefinition von C bzw. C++ legt nicht fest, ob während des Ersetzungslaufs des Präcompilers immer gültige Ausdrücke vorliegen müssen.> MinGW machte bei Stockfish einen so prima Job, dass ich glaubte, der würde auch hier erste Wahl sein.
#define
macht das zu einer recht aufwändigen Nummer. Vielleicht wissen die real programmer
Rat (gut real programmer
programmieren in Fortran oder Assembler wie man weiß, aber trotzdem... )> Nun werde ich die Gull-Sourcen mal Visual Studio vorwerfen...
>Allerdings läuft Gull bei mir leider nicht ganz stabil wenn ich ihn mit gcc compiliere.
Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill