Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
White OwlЕсли кратко, то все что не влияет на переменные во внешней области видимости - может быть выкинуто оптимизатором нафиг как ненужное. Да. Это так. Но какой код генерится? Это же должно быть очевидно? White OwlА вот то, что оно у тебя "в любом случае" работает это удача Ну, это понятно. Я и не рассчитываю что код с UB будет работать по-настоящему )) White OwlПроще. Но ты не там ищешь доказательства простоты. Согласен. Пока неубедительно звучит )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 19:55 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyWhite OwlЕсли кратко, то все что не влияет на переменные во внешней области видимости - может быть выкинуто оптимизатором нафиг как ненужное. Да. Это так. Но какой код генерится? Это же должно быть очевидно?Мне это не очевидно. Видать опыт создания компиляторов мешает. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 20:04 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
Мне кажется это side-effect типа поломаных часов которые внезапно дважды в сутки дали точное время. И при том сборка прошла без Warnings (ну по крайней мере на MinGW). Возможно код не легален но вправе-ли мы к портабельному ассебмлеру выставлять какие-то изысканные требования. Что хотели то и получили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 21:40 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
Причина кажущейся работоспособности приведённого кода -- в отсутствии других автоматических переменных во внешнем блоке функции. Если завести такие переменные большого размера, да ещё лучше и инициализировать их, то жизнь сразу же станет не такой радужной... nojava, если ты полагаешь, что компилятор тебе должен что-то сообщать о подобном коде в виде варнингов, ты ошибаешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 22:03 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
MasterZivПричина кажущейся работоспособности приведённого кода -- в отсутствии других автоматических переменных во внешнем блоке функции. Если завести такие переменные большого размера, да ещё лучше и инициализировать их, то жизнь сразу же станет не такой радужной...Не факт. Компилятор вполне может (и чаще всего делает) объявить все переменные на стеке в начале блока видимости, а там где она объявлена в коде будет только инициализация. В этом случае никакие добавления переменных не поломают работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 23:29 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
АМ, здесь проблему дохлого указателя увидеть гораздо проще, чем инвалидирующийся итератор в жопе STL. Сов совершенно правильно сказал - если ты представляешь, как работает компилятор, у тебя нет таких глупых вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 00:25 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
SiemarglАМ, здесь проблему дохлого указателя увидеть гораздо проще, чем инвалидирующийся итератор в жопе STL. В hello world вообще все проще в принципе ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 00:30 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
Шиза косила наши ряды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 00:39 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
А что говорят статические анализаторы? CPPCHeck (WebInterface) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 01:30 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
maytonА что говорят статические анализаторы? Да это все до одного места. В большинстве случаев проблема использования указателей на переменные вне области видимости статически не обнаруживается. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 01:48 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
nojavaСобственно вопрос. Насколько легален код ниже? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. короче, если бы тут было бы printf("%p %p %d", p1, p2, b); код был бы валидным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 02:41 |
|
||
|
Ссылка на переменные, потерявшие видимость
|
|||
|---|---|---|---|
|
#18+
MasterZivПричина кажущейся работоспособности приведённого кода -- в отсутствии других автоматических переменных во внешнем блоке функции. Если завести такие переменные большого размера, да ещё лучше и инициализировать их, то жизнь сразу же станет не такой радужной... nojava, если ты полагаешь, что компилятор тебе должен что-то сообщать о подобном коде в виде варнингов, ты ошибаешься. я ничего не полагаю, я вижу что gcc 5.1 вполне себе сообщает о подобном коде, так что ошибаться ты можешь и дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 11:23 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2018460]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get first new msg: |
35ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 463ms |

| 0 / 0 |
