напишите простой пример по теме вопроса на любимых плюсах, и я поставлю вам "ответ". Пока что я вижу, что constexpr только лишь перекладывает работу компилятора на программиста. Ваш "ответ" вероятно будет содержать нехилый каскад из шаблонов. И конечно же, чтобы ответ был реально корректным, нужно посмотреть его ассемблерный листинг (сделаю сам если угодно).
Ответ некорректен.
Constexpr - функция не может содержать локальных переменных, циклов и т.д.
Т.е. это не инструмент, а иллюзия инструмента (как и многое в с++).
Например
constexpr int generateMyArray()
{
int a = 0;
return 0;
}
Анатолий Иванов: извиняюсь, сам перепутал..
программа так и не войдёт в цикл, т.к. минимальное значение уже найдено. И вернёт key, который не установлен.
Rou1997:
Ок, спасибо за более развёрнутый ответ.
Отвечаю на ваш вопрос:
1) ответ с отходом от темы. Знаете, как когда кто-то спрашивает "как на bash ... ?", а ему кто-то обязательно "используй питон". Это я про "беспокоиться не о чем".
2) ответ "хэш тела функции" меня не устроил потому, что в дизассемблере уже нет такого чёткого понятия "функция". Чтобы определить, одна ли функция скомпилирована из одного кода с разными флагами компилятора (скажем -O1 и -O2 gcc), нужна, пожалуй целая виртуальная машина. А если разные компиляторы? Один из них может использовать дополнительные инструкции типа mmx. Это моё личное мнение, и пожалуй в этом направлении у меня практики значительно меньше чем у вас. Но я не вижу ему противопоставления.
Rou1997: кому на кого по к вопросу не относится. Мне интересен ответ на вопрос, а не есть ли кому-то до меня дело. Более, того, я вообще не собираюсь встраивать свободный код, мне просто интересно(!!!). "Спорю" я потому, что сложилось впечатление, что вы не очень-то "шарите" в теме.
Z-r:
> — А в целом ваше желание любыми способами об’ехать авторское право на кривой козе, чтоб дать своим пользователям как можно *меньше* свободы, ничего, кроме отвращения, не вызывает.
Вы ошибаетесь, когда говорите, что у меня есть желание обойти авторское право, тем более любыми способами. Вопрос представляет интерес, но плана такого нет.
> Так, что из-под Винды нельзя запустить ГНУ Емакс или GoldenDict?
Винда не поставляется с емаксом в коробке.
> Макось, Андроид или Убунта — это на ваш взгляд не «один продукт»?
Макось не содержит GPL компоненты. Остальное из перечисленного - ПО с открытым исходным кодом.
Конкретный вопрос: если я соберу ffmpeg с поддержкой x264 (что сделает лицензию ffmpeg GPL), и не залинкую на ффмпежные библиотеки "свою" программу, а буду запускать исполняемый файл ffmpeg вызовом exec, или start, а потом читать его вывод через stdout, могут ли меня обязать открыть исходный код "своей" программы?
Другой вопрос: если есть программный продукт, который является распределённой системой, т.е. у него скажем 10 исполняемых файлов, которые сообщаются между собой, скажем, через сокеты, и один из этих 10 исполняемых файлов содержит код под GPL, то нужно открыть этот 1 или все 10 ?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.