Виды связи символа с его значением

Jul 05, 2014 01:11

Модификаторы для глобальных переменных:
constexpr - для выражений вычислимых в compile-time отдельного модуля
linkexpr - для выражений вычислимых при полной сборке системы
deployexpr - для выражений вычислимых при инсталляции системы
rebootexpr - для выражений вычислимых при старте хоста
initexpr - для выражений вычислимых при старте программы
expr ( Read more... )

c++, fun, x++, release, soft-dev, build

Leave a comment

Comments 6

occuserpens July 4 2014, 21:29:27 UTC
Т.е. скрипты, выполняемые при ребуте, билде и т.д. объединяются в одного монстра с такими квалификаторами. Свят-свят-свят, изыди сатана.

Reply


moon_aka_sun July 4 2014, 21:29:49 UTC
Во многих программах, кажется, есть moonphaseexpr.

Reply


archaicos July 4 2014, 21:42:44 UTC
Мне кажется, что все попытки всех и всё построить имеют весьма ограниченный успех. Всегда где-нибудь ввернут рекурсию или цикл, и красоте настанет капец. :)

Reply


kodt_rsdn July 4 2014, 22:11:43 UTC
Можно попробовать реализовать с помощью шаблонов с тэгами. На оптимизацию это не повлияет, но по пальцам, при необходимости, надаёт.

Как это сделать на хаскелле, примерно представляю - фантомными типами.
На плюсах - только если очень много синтаксического шума.

Вариант: сделать препроцессор наподобие кутешного, чтобы из кода

TAGGED class foo
{
int x;
int foo(int y);
};

рожал

template class foo
{
tagged x;
tagged foo(tagged y);
// и всякие ко-контравариантные операторы приведения к foo
};

Reply


unknown_orient July 11 2014, 08:10:58 UTC
В AngularJS есть link time и compile time вычисления :)

Reply


Leave a comment

Up