{
return ptr;
}
И компилировать без LTO)
в си так тоже нельзя
Да понятно что по стандарту нельзя. Поинт в том, что без LTO у тебя фактическая семантика становится резко добрее, чем в стандарте, и кажется это можно проэксплуатировать. Например более кроссплатформенно чем ассемблером сделать указатель из адреса.
ну понятно что компиляторы и с (char*)0x1337 будут делать вид что это объект
Достаточно просто сделать указатель, ну добавить volatile
LTO разве испортить результат может? Или проинлайнить?
Обсуждают сегодня