Мне хотелось бы разделить директиву #include на две строки, чтобы мой код мог соответствовать 80 символам в строке, несмотря на необходимость очень длинного пути include.
Помимо расширения пути поиска компилятора, как я могу это сделать? Есть ли способ разделить мою длинную строку пути на две строки?
"# define" расширение макроса, по-видимому, происходит после #include расширения, поэтому они не работают:
#define BIGPATH "..."
#include BIGPATH ## "/foo.c"
#include "BIGPATH/foo.c"
#include BIGPATH"/foo.c"
Я также пробовал
#include "foo" ##
"bar"
и
#include "foo" \
"bar"
Безрезультатно. Возможно, что я хочу, невозможно? Помогите мне, stackoverflow kenobi, вы - моя единственная надежда.
ANSWER: опираясь на предложенный ниже ответ, вот что на самом деле сработало для меня:
#define STRINGIFY(x) #x
#define PATH(path) STRINGIFY(/my/very/long/path)
#include PATH(foo.h)
#undef PATH
#undef STRINGIFY