Pull to refresh
khim @khim read⁠-⁠only

User

Send message

Плохая же у вас память. GCC, так-то, может выдать список проходов: https://godbolt.org/z/16jYGqGqK

Их там больше 7 и даже больше 77.

А вот зато компионент в GCC меньше 7 (front-end, tree-ssa, rtl - это если больгие обсуждать, каждый из компонент делится на кучу частей поменьше).

Потому откуда вы это сакральное число взяли - загадка.

аргумент про то что с89 не актуален не принимается?

Не принимается. Всего год назад это была последняя, самая новая версия стандарта C, которая поддерживалась одним известным компилятором. Неправильная компиляция программ на единственной версии языка, которую ты поддерживаешь явно никого не красит, но даже если твой компилятор слегка посовременнее, отказываться от поддержки единственного диалекта, который многим из твоих пользователей доступен… несколько некрасиво.

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

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

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

Кстати, а вы можете привести какие-то другие примеры, где компиляторы ломают код без UB?

Я — нет. Но саботажники, слава богу, сделали это за меня. Откройте proposal и найдёте там примеры того, как разные компиляторы ломают валидные программы. Вместе с предложением задним числом объявить эти программы невалидными. С помощью добавления изменений в соотвествующий стандарт:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2577.pdf

Ну вот function inlining ломает программы если в этой функции среди параметров есть эксклюзивный (restrict) указатель. Ну или ломал раньше, но новостей о починке я не видел.

Тоже мне, нашли панацею.

Во-первых “cc1: warning: command-line option '-finit-local-zero' is valid for Fortran but not for C”.

А во-вторых даже если обнулять - всё равно оптимизации невозможны: https://godbolt.org/z/chaxze71P

Всё, что можно сделать - это разделить UB на “хорошие” и “плохие”. Но всем пофиг: разработчики компиляторов нифига не заинтересованы в этом (они, наоборот, новых UB добавтить хотят), “инжинерные программисты” пишут не на C или C++, а на конкретной версии конкретного компилятора, а те, кто уже понял во что превратились C и C++ - переходят на Rust.

Это потому что вы интуитивно отметаете программы с UB - с теми, которые вам кажутся настоящими, “плохими” UB, которые программист уж точно не будет допускать. Но возьмите классику жанра: https://godbolt.org/z/9hfPeWrhM

Много вы опитимизаций можете придумать, которые подобные программы оставят работоспособными? И да, с function inilining, всё легко может сломаться (как, собственно, в clang и происходит).

Во-во. "Не найдено такое-то слово". Я его зачем по-твоему писал?)

Интересно, в каких ситуациях следует применять его, а не char?

По идее для любой работы с utf-8 строками где раньше использовался char.
Еще меньше проблем с "aliasing".

UFO landed and left these words here
В Китае на протяжении десятков лет возрастала потребность в таких специалистах, росли и их зарплаты, отсюда всё больше молодых людей решали обучаться этой профессии, а потом всё больше людей получали опыт реальной работы.
В США же наоборот, десятки лет падал спрос…
Что касается Firefox:
Разработчики всех остальных распространённых браузеров уже реализовали EME, и мы хотели бы исключить вероятность, что, когда это станет нормой, люди не смогут получить доступ к такому базовому интернет-контенту, как голливудские фильмы, просматриваемые в потоковом режиме с использованием Firefox. Мы также не хотим, чтобы создалась ситуация, при которой пользователи Firefox были бы вынуждены использовать другие браузеры для основополагающих действий, связанных с использованием интернета.
DRM and the Challenge of Serving Users (blog.mozilla.org)
У «Хрома» есть chrome://chrome-urls/
Ферзи на python:

def noKill(x, y):
    return x[0] != y[0] and x[1] != y[1] and (x[0] - x[1] != y[0] - y[1]) and (x[1] - x[0] != y[0] - y[1])

def dfs(x):
    if 8 == len(x):
        print x
    else:
        for y in xrange(8):
            nw = (len(x), y)
            if all(map(lambda ix: noKill(ix, nw), x)):
                x.append(nw)
                dfs(x)
                x.pop()

dfs([])
Спасибо, почитаю. Сам читаю Авантюриста (весь текущий и будущий бардак впечатляюще расписал в подробностях еще прошлым летом), Полюха (немного со странностями, но прогнозы сбываются), ну и ворандпис как источник новостей. Еще недавно читал какую-то древнюю (несколько лет прошло) статью Панарина — в общих чертах описаны сегодняшние события, поразился. Ссылки по запросу или в гугле во избежание.
В разрушителях легенд, опровергли этот миф.

Третий закон ньютона:)

В 3ем сезоне они показали это:) ru.youtube.com/watch?v=QCzD5uhSViY

Можно начинать смотреть сразу с середины
В принципе было приятно работать с Majordomo тех. поддержка отзывчивая и квалифицированная + приемлемые цены + долго на рынке.
Плагин для WordPress, делает примерно тоже самое, но интереснее:

kingdesk.com/projects/wp-hyphenate/

…русский язык в комплекте.
UFO landed and left these words here
Для новичков и не очень выкладываю три листа из Round-up 6 (Virginia Evans). Если выучить их, то проблем с временами не будет. Ну, не должно быть :)

UFO landed and left these words here
1

Information

Rating
Does not participate
Registered
Activity