Ich schreibe das folgende Makro für Debug-Bequemlichkeit,
%Vor%aber gcc beklagt sich wie folgt
%Vor%Was ist falsch an diesem Code? Vermissen ich hier wichtige Punkte?
Sie können #ifdef
s nicht in einer Makrodefinition haben. Sie müssen es umdrehen:
Sie können keine Präprozessordirektive in eine andere Präprozessordirektive einbetten (das #ifdef DEBUG_MODE
in der Definition von DEBUG_INFO
). Tun Sie stattdessen etwas wie
(Das ist immer noch nicht ideal; defensive Makrocodierung deutet auf etwas wie
hin) %Vor% Vielleicht würde eine Funktion inline
besser funktionieren.)
Tags und Links c debugging c-preprocessor