Описание тега compile-time

Относится к информации, которая может быть выведена или известна во время компиляции исходного кода, в отличие от информации, которая может быть выведена только при запуске исходного кода. Не используйте этот тег для вопросов о времени, которое требуется для компиляции исходного кода.
1 ответ

Проверка времени компиляции для использования #pragma pack

Большинство компиляторов поддерживают изменение упаковки класса с помощью #pragma pack(N) директива, где N это новое минимально приемлемое выравнивание для каждого члена. Можно ли проверить во время компиляции, действительно ли #pragma pack(N) был у…
10 окт '18 в 02:32
2 ответа

Как можно перечислять, упорядочивать и т. Д. Классы во время компиляции?

Я борюсь с некоторыми правилами того, что может быть использовано в вычислениях времени компиляции. Здесь я написал код, который связывает уникальный идентификатор с каждым классом, который запрашивает его (и выделенное имя для целей тестирования). …
29 дек '15 в 23:40
1 ответ

Как я могу проверить, что выражение является константой в C?

Скажем, у меня есть сценарий, в котором мне нужно убедиться, что значение, используемое в моем коде, является константой времени компиляции (например, возможно драконовская интерпретация правила 2 P10 "фиксированные границы цикла"). Как я могу приме…
22 ноя '15 в 03:43
8 ответов

Можно ли узнать, когда constexpr действительно является constexpr?

Начиная с расширенных версий constexpr (я думаю, от C++14), вы можете объявить функции constexpr, которые могли бы использоваться как "реальные" constexpr, то есть код, выполняемый во время компиляции, или может вести себя как встроенные функции. Ит…
24 окт '17 в 20:37
7 ответов

Что эквивалентно Java System.out.println() в Javascript?

Я пишу несколько тестов для кода Javascript, и мне нужно сбросить некоторые сообщения во время процесса компиляции при возникновении ошибок. Есть ли эквивалент Java System.out.println() в JavaScript PS: мне также нужно вывести отладочные операторы п…
04 янв '12 в 19:59
2 ответа

Как сделать так, чтобы аргумент строки проверки компилятором действовал в Typescript?

В TypeScript, как можно заставить компилятор определять, является ли строка допустимым аргументом для метода / функции? Прямо сейчас я использую строковые литералы для достижения этой цели. Например, type ValidLetter = "A" | "B" | "C" | "D"; // stri…
2 ответа

Проверьте во время компиляции, что несколько перечислений имеют уникальные значения

Я хочу перечислить коды ошибок, используя несколько перечислений, чтобы я мог определить эти перечисления в разных файлах. Как проверить во время компиляции, что все значения в этих перечислениях уникальны? В настоящее время я определяю перечисления…
27 авг '18 в 06:15
5 ответов

Условное включение / исключение кода во время компиляции на основе аргументов шаблона?

Рассмотрим следующий класс с внутренней структурой Y используется как тип, например. в шаблонах, позже: template<int I> class X{ template<class T1> struct Y{}; template<class T1, class T2> struct Y{}; }; Теперь этот пример явно не …
2 ответа

Назначение уникального интегрального идентификатора для типов, время компиляции

Интересно, позволяет ли какое-либо средство метапрограммирования шаблонов присваивать уникальные интегральные идентификаторы для разных типов, то есть что-то вроде этого: class Type; enum { id = identifier<Type>() /* or identifier<Type>:…
13 ноя '11 в 11:37
2 ответа

Проверка уникальности символов во время компиляции

Можно ли в C++11 (не позднее) написать функцию, которая проверяет уникальность символов, переданных ей во время компиляции verify('a'); verify('b'); verify('c'); verify('a'); //should cause compilation error [Редактировать М.К., чтобы ответить на не…
30 янв '18 в 22:25
0 ответов

Убедитесь, что пользователь создает экземпляр нового подкласса

Допустим, есть базовый класс class Base { } и пользователь создал новый подкласс class NewDerivedClass : public Base { } Существует также перечисление для всех подклассов: enum SubclassId { Derived1_Id, Derived2_Id, ... NewDerivedClass_Id // User ha…
16 фев '18 в 14:52
1 ответ

Вектор с различными типами, определенными во время компиляции

Мой вопрос довольно короткий: Мне нужен вектор, который содержит различные типы, такие как: std::vector<int,double> vec; vec.emplace_back((int) 1); vec.emplace_back((double) 2.0); Я попытался использовать boost: варианте, но проблема в том, чт…
02 июл '15 в 21:10
1 ответ

Может ли gcc/clang оптимизировать вычисления инициализации?

Недавно я написал инструмент генератора синтаксических анализаторов, который принимает грамматику BNF (в виде строки) и набор действий (в виде массива указателей на функции) и выводит синтаксический анализатор (= автомат состояний, размещенный в куч…
4 ответа

Получить Xcode Build Time

Я хочу извлечь общее время сборки проекта XCode, отображаемое в небольшом поле над XCode, если вы включили defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES, Я не нахожу никакой информации в .xcactivitylog файлы. Я также попробовал по…
11 июл '17 в 10:30
2 ответа

В Java: упрощаются ли выражения, включающие константы, определенные при создании экземпляров, во время компиляции?

Как кратко изложено в моем заголовке, мне было интересно, упрощаются ли выражения, включающие константы, определенные при создании экземпляров, во время компиляции? Например, у меня есть класс кучи, где у меня есть последний логический isMinHeap, зн…
1 ответ

Установить значения вектора во время компиляции

Я реализовал свой собственный векторный класс для образования. Вот упрощенный фрагмент: template <size_t DIM> class Vector { private: float _data[DIM]; public: void Set(); float Length() const; float& operator[](size_t index); } Я реализов…
09 ноя '17 в 00:21
2 ответа

Проверка типа времени компиляции с использованием логики ветвления

Я пытаюсь определить, есть ли способ во время компиляции выполнить проверку условий для двух разных типов одновременно. Пример: template <typename T> class MyClass { returnVal myFunction() const { // Is there a compile time way of doing this? …
19 фев '15 в 19:30
3 ответа

Почему (постоянные) выражения не оцениваются во время компиляции в Haskell?

В настоящее время я изучаю Haskell, и есть одна вещь, которая сбивает меня с толку: Когда я создаю сложное выражение (чье вычисление займет некоторое время), и это выражение является константой (то есть оно строится только из известных, жестко закод…
1 ответ

Обходной путь с шаблонами для изменения типа

Учитывая этот класс делегата: template <class DELEGATECLASS, class METHODPTRSPEC> class CLDelegate { public: CLDelegate(); CLDelegate( DELEGATECLASS* instancePtr, METHODPTRSPEC methodPtr ); CLDelegate( const CLDelegate& rhs ); DELEGATECLAS…
11 авг '13 в 12:30
36 ответов

Цикл внутри; здание может привести к ненадежным результатам: Xcode 10 Error

Компиляция с Xcode 10 и последней системой сборки выдает следующую ошибку: Детали цикла: → Целевой "проект": LinkStoryboards Целевой "проект" имеет команду компиляции с вводом "/Users/project/Commons/Components/ScreenshotSharing/ViewController/AppSh…
05 июн '18 в 21:39