Может ли исполняемая не введенная постоянная функция статической библиотеки при использовании LTO?C++

Программы на C++. Форум разработчиков
Anonymous
Может ли исполняемая не введенная постоянная функция статической библиотеки при использовании LTO?

Сообщение Anonymous »

Допустим, у меня есть следующая функция в статической библиотеке Libutil (с определением в одном из единиц перевода библиотеки, поэтому он не может быть подставлен при составлении блока перевода вызывающего абонента):

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

consteval int square(constexpr int x) {
return x * x;
}
и функциональный вызов в исполняемом привет , который ссылается на Libutil :
int main() {
constexpr result = square(5);
printf("%d\n", result);
}
< /code>
Было отмечено, что C ++ требует оценки в «Время компиляции», но с LTO некоторые из генерации кода выполняются во время ссылки. Достаточно ли это считается «время компиляции», чтобы провести постоянную оценку? Это в зависимости от компилятора?

Подробнее здесь: https://stackoverflow.com/questions/797 ... n-when-usi

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