Chciałbym użyć dyrektywy #include
z nazwą pliku, która jest przekazywana jako zewnętrznie zdefiniowane makro.Podstawianie makra w dyrektywie #include
E.g.
#include #FILE".h"
gdzie FILE
byłoby zdefiniowane jako ciąg MyFile
(bez cudzysłowów), w wyniku
#include "MyFile.h"
stringizing operatora # nie może być stosowany tu jako symbol FILE
makro nie jest argumentem. Próbowałem innych podejść, bezskutecznie.
Czy widzisz rozwiązanie?
gcc zapewnia funkcjonalność * zewnętrznie * obejmuje pliki http://stackoverflow.com/questions/3387453/include-header-files-using-command-line-option. To może ci pomóc. –
Interesujące. Używam zarówno gcc, jak i MSVC, a moja dyrektywa #include może nie znajdować się na pierwszej pozycji. –
Nie będzie to możliwe, ponieważ sąsiednia ciągła literalna konkatenacja nie jest wykonywana przed etapem preprocesora, np. '" MyFile "". H "' nie będzie prawidłową nazwą włącznika. Nie możesz po prostu zdefiniować "PLIK" jako rzeczywistej nazwy nagłówka, która ma zostać dołączona, np. '-DFILE =" MyFile.h "'? –