- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
program Project2;
procedure test1;
var
arr:array[0..32] of char;
begin
fillchar(arr,sizeof(arr),'A');
end;
procedure test2;
var
arr:array[0..32] of char;
begin
fillchar(arr,sizeof(arr) div 2,'B');
writeln(arr);
end;
begin
test1;
test2;
//BBBBBBBBBBBBBBBBAAAAAAAAAAAAAAA
readln;
end.
bormand 15.03.2016 20:25 # 0
inkanus-gray 15.03.2016 20:29 # +2
Разве это UB? На мой взгляд это вполне ожидаемое поведение.
bormand 15.03.2016 20:31 # +1
... поэтому использовать их значения без инициализации - самый настоящий UB.
inkanus-gray 15.03.2016 20:38 # 0
bormand 15.03.2016 20:40 # +2
inkanus-gray 15.03.2016 21:08 # 0
bormand 15.03.2016 21:09 # 0
If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate.
3.14159265 15.03.2016 21:12 # +5
Сертифицированный компилятор при обращении к переменной может возвращать мусор, однако не имеет права отформатировать диск.
bormand 15.03.2016 21:16 # +2
fajes_rown 15.03.2016 21:20 # 0
bormand 15.03.2016 21:20 # 0
inkanus-gray 15.03.2016 21:20 # +1
inkanus-gray 15.03.2016 21:31 # +2
3.14159265 15.03.2016 21:32 # +6
bormand 15.03.2016 21:34 # +4
Use of an unspecified value, or other behavior where this International Standard provides
two or more possibilities and imposes no further requirements on which is chosen in any
instance
inkanus-gray 15.03.2016 21:40 # +6
For Yankees normal behaviour is to write “behavior”, while for British normal behavior is to write “behaviour”.
3_14dar 17.03.2016 20:23 # +1
inkanus-gray 17.03.2016 22:41 # 0
guest 18.03.2016 04:10 # +1
во втором случае у адреса есть микроскопичейский но все же шанс попасть на шину и вызвать чтение из какого-то устройства
а там уже как бог пошлет
barop 10.01.2017 21:30 # +2
bormand 10.01.2017 22:31 # 0
barop 10.01.2017 22:35 # +2
Вообще чтение же часто имеет сайдэффект. Кажется, i8042 не обрабатывал новые нажатия пока ты не считаешь с него сканкод
bormand 10.01.2017 22:38 # +1
Особенно из USB (чтение кидает запрос "есть чо?").
CHayT 10.01.2017 22:33 # +4
Коран?
kegdan 11.01.2017 07:17 # +1
bormand 15.03.2016 21:22 # +4
undefined behavior
unspecified behavior
implementation-defined behavior
inkanus-gray 15.03.2016 21:25 # +4
bormand 15.03.2016 21:25 # +2
<...>
- An unmatched ' or " character is encountered on a logical source line during tokenization.
- The identifier _ _func_ _ is explicitly declared.
Бойся сишных компиляторов. Они даже за незакрытую кавычку яйца отстрелят.
inkanus-gray 15.03.2016 21:27 # +2
bormand 15.03.2016 21:27 # +3
The characters ', \, ", //, or /* occur in the sequence between the < and > delimiters, or the characters ', \, //, or /* occur in the sequence between the " delimiters, in a header name preprocessing token
#include <some\library\header.h>, как любят писать виндузятники...
3.14159265 15.03.2016 21:29 # 0
#include < /* а почему нельзя тут комментировать?*/ stdio.h >
bormand 15.03.2016 21:31 # +4
#include <1.h> // BOOM!
guest 18.03.2016 03:20 # +2
int i; // так случилось что i = 122342
(*(*int)i) = 42;
А на этом компьютере по адресу 122342 расположен MMIO дискового контроллера, который при записи туда числа 42 форматирует диск согласно спецификации своего протокола
3.14159265 15.03.2016 21:11 # +6
основным свойством лямбд является возможность педерачи их как аргументов или длительного хранения в переменной.
стек за это время может 100500 раз перетереться
guest 18.03.2016 03:42 # +1
Что случается с автоматической переменной которую захватила кложа после того, как стек опустошили?
В некоторых языках она копируется в кложу, но тогда она readonly.
В частности в жабе надо её явно final делать.
В объективных сях она (с ключ словом block) улетает в кучу и реально превращается в указатель
В шарпике не помню как, надо читат
3.14159265 18.03.2016 16:35 # 0
Да, тема нетривиальная.
>Что случается с автоматической переменной которую захватила кложа после того, как стек опустошили?
А тут интересный вопрос. Можно смотреть если лямбда убегает со стека, то только тогда двигать её в кучу. А если создали переменную и лямбду на стеке, передали в какой-то [1,2,3].each() и тут же выбросили, то смысла срать в кучу нет.
>В частности в жабе надо её явно final делать.
В жабе всё страшно. Переменная неявно становится членом замыканияанонимного класса.
Там свои нюансы в виде повышенного использования памяти при использовании анонимных инициализаторов.
3_14dar 18.03.2016 19:09 # 0
А где не так?
guest 18.03.2016 19:09 # 0
3.14159265 15.03.2016 20:41 # +2
Тогда это хацкирство, а не серьезное программирование.
Это как я в sqlе использовал union для неявной сортировки. Благо оно не сломалось, а ведь могло!
Зато я слышал истории людей у который в оракле так же красно-чёрный GROUP BY сортировал, а потом эти гады запилили вместо него хэши и случился небольшой пиетет.
inkanus-gray 15.03.2016 20:44 # 0
3.14159265 15.03.2016 20:49 # +3
Лет 10 назад в базы кроме B-Tree начали активно впиливать хэши. И делать соответствующие оптимизации.
Это как складывать уникальные в хешмап.
guest 18.03.2016 03:18 # 0
сами себе дураки
guest 18.03.2016 03:18 # +1
прекратите называть автоматические переменные стековыми
это же не грамотно!
fajes_rown 15.03.2016 21:02 # 0
bormand 15.03.2016 21:04 # −1
fajes_rown 15.03.2016 21:09 # 0
bormand 15.03.2016 21:12 # 0
kegdan 15.03.2016 21:18 # +1
bormand 15.03.2016 21:20 # +1
kegdan 15.03.2016 21:22 # +2
kegdan 15.03.2016 21:28 # +3
Если каждый раз после того как ты ешь манную кашу у тебя из жопы вылезает белый кролик - то это нормально, хоть в учебнике по анатомии ничего такого нет. А если этот кролик пытается отгрызть тебе хуй - это уже UB и повод сходить к практологу
fajes_rown 15.03.2016 21:47 # +1
kegdan 15.03.2016 21:56 # +1
3_dar 15.03.2016 22:02 # 0
bormand 15.03.2016 22:06 # +1
fajes_rown 15.03.2016 21:23 # 0
bormand 15.03.2016 21:35 # 0
Пресвятая наивность...
fajes_rown 15.03.2016 21:45 # 0
bormand 15.03.2016 21:59 # −1
Это архитектура просто неудачная. Если какую-нибудь ECC память заюзать и помечать этими лишними битами инициализированность...
guest 18.03.2016 03:56 # +1
ты же сейчас про реальный режим говоришь, да?
потому что если про защищенный то ты реальне считаешь что обращение по адресу 0xуйзнаетгде успешно пройдет MMU, попадет в читабельную страницу с пометкой "в памяти", не найдется в кеше, и контроллер памяти попытается её считать и только чексумма ECC профейлится?
bormand 18.03.2016 07:25 # 0
Проблемы с кешем решаемы - мы же свою рахитектуру пилим. Кеш тоже придётся сделать с флажком "не инициализированно".
А лишний бит от ецц - просто как способ хранения этих флажков. Чтобы и память не пришлось редизайнить.
guest 18.03.2016 10:05 # +2
а TLB резиновый??
>>мы же свою рахитектуру пилим
чтото я перестал тебя понимат
>>А лишний бит от ецц - просто как способ хранения этих флажков.
чексумму у ECC проверяет контроллер памяти (или даже IO logic у DIMM), до проца эта информация просто не дойдет
bormand 18.03.2016 11:31 # 0
guest 18.03.2016 13:11 # +3
удобно
3.14159265 18.03.2016 16:38 # 0
guest 18.03.2016 04:00 # 0
будет ли это краш или нет -- зависит от окружения и процессора
1) где-то почти всегда будет краш (mac os)
2) где-то -- как повезет (ms-dos)
Kislorod 16.03.2016 00:06 # −3
kegdan 16.03.2016 06:58 # +4
1024-- 16.03.2016 10:10 # +2
Детектор тупых твинков зашкалило. Гипотеза о переизбытке тупых твинков подтверждена.
kegdan 16.03.2016 11:33 # +1
Vasiliy 16.03.2016 18:33 # +1
kegdan 16.03.2016 19:30 # +1
gost 17.03.2016 19:16 # 0
kegdan 17.03.2016 19:47 # 0
1024-- 17.03.2016 19:53 # +1
Я настоящий!
kegdan 17.03.2016 19:55 # 0
bormand 17.03.2016 20:18 # +1
kegdan 17.03.2016 20:19 # 0
kegdan 17.03.2016 20:26 # 0
http://xn-----vlcbbirqlhw.xn--p1ai/all-seasons/2-season/vspomnit-veh-seh-jjo-2-sezon-4-seriya
bormand 17.03.2016 20:27 # +1
Отличное название домена. Запоминающееся...
kegdan 17.03.2016 21:05 # 0
bormand 17.03.2016 21:12 # +1
З.Ы. Я 90% ссылок на ролики не открываю, т.к. ролики - линейная хуйня, которую нельзя по диагонали прочитать... Текст или картинки в этом отношении намного удобней...
kegdan 17.03.2016 21:14 # 0
bormand 17.03.2016 21:21 # 0
kegdan 17.03.2016 21:24 # 0
bormand 17.03.2016 21:25 # 0
Это потому что дедлайн не проставлен.
kegdan 17.03.2016 21:26 # 0
Имхо возраст у тебя не тот. что бы Робинзона Крузо читать. Мне кажется это такое, подростковое, не залетит.
bormand 17.03.2016 21:36 # +1
Да почему, норм читается. Я просто в детстве его почему-то пропустил...
kegdan 17.03.2016 21:38 # 0
Достоевский хорош. Даром что не фантаст, и то читал
bormand 17.03.2016 21:46 # 0
Too hard. Нечитабельно. Или ты про другого Толстого, который про гиперболоид писал?
> Достоевский хорош.
Да, но я вроде всё интересное у него уже читал.
З.Ы. Мне уроки литературы напрочь отбили интерес к классике. Уже столько лет прошло, а до сих пор аж страшно открывать эти книжки...
kegdan 17.03.2016 22:27 # 0
Из Достоевского очень понравился Идиот
Имхо в школе еще нечего не понимаешь, а тебе такие умные книжки впихивают. Классику надо в осознанном возрасте читать
bormand 17.03.2016 22:31 # +1
И ты это говоришь человеку, который спит с дакимакурой...
kegdan 17.03.2016 22:33 # 0
А я так и не заказал. обнимаю обычную подушку
3_14dar 17.03.2016 22:33 # 0
bormand 17.03.2016 22:39 # 0
kegdan 17.03.2016 23:02 # 0
3_14dar 17.03.2016 21:49 # 0
kegdan 17.03.2016 22:27 # 0
3_14dar 17.03.2016 22:32 # 0
kegdan 17.03.2016 22:34 # 0
3_14dar 17.03.2016 23:11 # 0
bormand 10.01.2017 20:39 # +1
defecate-plusplus 10.01.2017 20:54 # +1
bormand 10.01.2017 20:56 # 0
Ну, я с того разговора в недавнем треде так ничего и не посмотрел. Ни рика ни няшек.
defecate-plusplus 10.01.2017 21:03 # 0
ты вообще человек?
dxd 10.01.2017 21:11 # 0
defecate-plusplus 10.01.2017 21:14 # 0
не еду же разглядывать
ох уж эти люди, которые не прожили лучше годы своей молодости в общаге
bormand 10.01.2017 21:14 # +1
Тарелку с едой. Иногда ГК листаю на планшетке.
> ты вообще человек?
Вошь ли я, как все, или человек? Смогу ли я переступить или не смогу! Осмелюсь ли нагнуться и взять или нет? Тварь ли я дрожащая или право имею...
kegdan 11.01.2017 07:14 # 0
Soul_re@ver 17.03.2016 22:45 # +1
Прочти содержание. В смысле, заголовки всех глав. В принципе, этого достаточно. Хотя и полное название спойлит всё.
bormand 17.03.2016 23:04 # 0
guest 18.03.2016 04:01 # 0
их можно только стримом читать
nihau 17.03.2016 20:58 # 0
CHayT 10.01.2017 21:17 # +1
gost 17.03.2016 20:19 # 0
kegdan 17.03.2016 20:20 # 0
bormand 17.03.2016 20:20 # +1
kegdan 17.03.2016 21:30 # +1
gost 17.03.2016 22:15 # 0
bormand 17.03.2016 22:18 # +4
gost 17.03.2016 22:20 # 0
Soul_re@ver 17.03.2016 22:47 # +3
3_14dar 17.03.2016 23:12 # 0