Pull to refresh
-11
1
Subscribers
Send message

Сделать язык максимально переносимый лишь путём запретов части кодовых решений, по моему мнению, является ущербной стратегией стандартизации языка. То есть сейчас, я, по мнению комитета, не вправе использовать особенности целевой платформы и ожидать определённого поведения. Но как эмбеддер именно для этого я и пользуюсь Си.

Согласен, пусть компилятор исходит из того, что в программе нет UB, но он не вправе выкидывать кусками код не отслеживая целостность. Даже мёртвый, по мнению компилятора, код нельзя выкидывать. Т.к. на него может быть совершен неявный прыжок ради целей недоступных пониманию компилятора. Надо исходить из того, что всё что пишет программист, он пишет с целью выполнить.

Так что, если стандарт против здравого смысла архитектуры, тем хуже для стандарта.

Надо что-то реально полезное нашаманить. Например получить код проекта системы автоматизации по её детальной спецификации. Ну хотя бы СВЧ печатную плату развести.

И вот как производители компиляторов это допустили? Оптимизация, основанная на предположениях и допущениях снижает надёжность результата компиляции.

Да, с единым списком можно писать переносимый код. Теперь бы ещё в среде разработки иметь подсветку УБ.

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

УПД. Вот мы тут обсуждаем примеры с УБ, которые синтаксически верные, они зачастую даже корректно компилируются, мы все однозначно понимаем, что автор примеров пытается достичь в них, но там УБ, а значит потенциальный апокалипсис. Ну бред же!

Что-то длинновато имя-то. Вот ts.com как раз продаётся.

Вот и я к этому же и веду, что УБ - именно, что правила написания переносимого кода, стандарт компиляции. То есть, под разные платформы список УБ должен быть разным в том числе и по архитектурным причинам. Про агрессивную УБ оптимизацию и так понятно.

Ох уж это УБ... УБ - это не правила языка, УБ - это ограничения оптимизирующего компилятора, который с лёгкостью даст протечь потоку выполнения функции в недопустимую область. Так что я даже больше скажу. Делать предположения о работе программы с УБ нельзя уже после компиляции. УБ не возникает, это не событие, это сломанный код. УБшность можно регулировать опциями компилятора.

Ну вот и да. УБ бояться, под МК не писать. Абстрактность указателей кореллирует с абстрактностью подхода.

Я не понял в чем была проблема. Даже в последнем примере, где

auto ptr = reinterpret_cast<std::remove_all_extents_t<decltype(arr)>*>(arr);

применяется забористое заклинание вместо

int* ptr = &arr[0][0][0];

И все, дальше гоняйте по ptr[i] от нуля до sizeof(arr) / sizeof(int). Можете даже поставить указатель на доступную область памяти и прочитать блок хоть массивом, хоть одной переменной через адресную арифметику.

Но и про указатели на массивы и сопутствующие проблемы...

А может просто не нагружать обычные указатели лишними смыслами и свойствами. Указатель - это всего лишь адрес начала объекта в памяти, а наличие у него типа предотвращает часть ошибок на этапе компиляции. Вот в принципе и всё. Это просто как косвенная адресации на ассемблере. Если хочется совсем уж умных указателей, то можно и свой тип навернуть.

Это поможет осуществить все остальные меры, когда учётка не блокируется.

А что не так с героином? У Пауэлла на заседании тоже герыч был. Символично.

Не читайте статью, читайте заголовок! Скрипт разблокирует ненужные функции в МSЕ, чтобы с ними бороться.

Да не жалуйтесь. Отличный паблик. Можно откомментить не читая и не промахнуться.

Как всегда. Железо есть, а функции уже нет. Но в следующем поколении её можно будет реализовать и продать как революционную фичу.

УПД. Вот разъём для наушников убрали, беспроводные протоколы надрочили так, что сам чёрт ногу сломит, но один круче другого и все проприетарно-несовместимые и неидеальные. Так вот для аудиофилов могут вернуть. Хотя бы в лимитированной версии с +500$

Да у меня так же, 11я версия летает. И вот почему. Пока вы с ней работали, то понастраивали там-сям, что-то ограничили, что-то отключили и всё теперь нравится.

А вот мне приходится время от времени накатывать виртуалки с доступом к интернет и я вижу всё это барахло, рекламу, рекомендации и прочие тормоза.

Или когда садишься за комп к человеку, который пользуется как есть, и недоумеваешь, откуда всё это барахло в системе и почему так сложно ориентироваться.

То есть, если после включения телефон обнаружит себя в центре Токио, то сторонние магазы можно будет подключить?

Вот чтобы не поймали и нужен дрон, который летит быстро, низко и на длинные дистанции.

А я и не про макетки. Хотя... И про макетки тоже. Макетка должна соответствовать. Их же подбирать можно. А то как соберётся, так и пойдёт в серию с запасом.

Information

Rating
Does not participate
Registered
Activity