Получение из 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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