Получение из GCC/Clang Значение, известное во время компиляцииC++

Программы на C++. Форум разработчиков
Anonymous
Получение из GCC/Clang Значение, известное во время компиляции

Сообщение Anonymous »

Рассмотрим следующее значение постоянного времени компиляции определено

Код: Выделить всё

struct foo  {  uint32_t a;  };

static constexpr int VALUE = sizeof(foo);
Обратите внимание, что способ вычисленного значения здесь не важно.
Я хотел бы получить само значение (4 в примере) в результате компиляции ; Другими словами, я не хочу создавать двоичный файл и запускать его, чтобы получить это значение. Может быть, существует какая-то опция компилятора, которая позволила бы это, но я не знаю. Похоже, что GCC может сделать это, но не Clang .
есть ли лучший способ, а не с компилятором, чтобы получить постоянное значение в результате самого компиляции?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ation-time

Вернуться в «C++»