Мне интересно, возможно ли в C ++ 11/14 действительно читать файлы во время компиляции. Например, следующий код будет компилироваться только в том случае, если он сможет успешно прочитать файл.
constexpr std::string shader_source = load("~/foo.glsl");
Как вы думаете, такое возможно?
Я знаю, что могу сделать это с помощью специального инструмента при создании приложения.
#include
, и это означает, что компилятор должен понимать содержимое файла. - person Didier Trosset   schedule 02.10.2014load
функция - этоconstexpr
. Таким образом, полное выражение не может быть constexpr. Я понятия не имею, как содержимое внешнего файла может быть строкой constexpr. Единственный способ - использовать инструмент, который просто загружает файл и генерирует код c / c ++. - person Klaus   schedule 02.10.2014