Сохранен 34
https://2ch.su/b/res/330797126.html
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

блять а вы знали что в сях можно положить массив в структуру и при присваиванании его новой переменн

 Аноним 15/03/26 Вск 11:26:13 #1 №330797126 
i.jpeg
блять а вы знали что в сях можно положить массив в структуру и при присваиванании его новой переменной КАНПИЛЯТОР СКОПИРУЕТ ВЕСЬ МАССИВ

struct BigBuffer {
char data[1000000]; // структура с большим массивом
};

struct BigBuffer a, b;
b = a; // ОЙ! Копируется 1 МБ
Аноним 15/03/26 Вск 11:55:11 #2 №330797923 
>>330797126 (OP)
Скоро погромистов заменит ИИ
Аноним 15/03/26 Вск 11:56:35 #3 №330797963 
>>330797923
Сначала он заменит перекладывателей бумажек по типу тебя.
Аноним 15/03/26 Вск 12:01:27 #4 №330798107 
>>330797126 (OP)
> char data[1000000]; // структура с большим массивом
1048576
Аноним 15/03/26 Вск 12:22:00 #5 №330798716 
>>330797126 (OP)
А что не так?
Аноним 15/03/26 Вск 12:25:26 #6 №330798812 
>>330797126 (OP)
Сиблядепроблемы. У вас там вроде указатели есть чтобы не копировать.
sage[mailto:sage] Аноним 15/03/26 Вск 12:31:13 #7 №330799015 
>>330797126 (OP)
Малютка начинает узнавать как работают поинтеры
Аноним 15/03/26 Вск 12:55:54 #8 №330799791 
>>330798812
тут ставить указатель особотне на что, этот все на стеке...
Аноним 15/03/26 Вск 13:22:43 #9 №330800742 
помню юзал такую хуйню чтобы лепить поинтеры особых размеров для быстрой копипасты данных (ну например поинтер на 17 байт под стринг 17 байт)
Аноним 15/03/26 Вск 14:15:14 #10 №330802606 
>>330797126 (OP)
И? Что сказать-то хотел?
Аноним 15/03/26 Вск 14:18:46 #11 №330802720 
>>330802606
я никогда не думал что канпилятор C такой умный, думал что массивы копируются только циклами
sage[mailto:sage] Аноним 15/03/26 Вск 14:21:14 #12 №330802811 
>>330799015
Нуда надо лезть в хуйню которую даже компиляторі не особо трогает чтоб прогать на калодрыщенской хуйне
sage[mailto:sage] Аноним 15/03/26 Вск 14:22:29 #13 №330802856 
>>330802720
Надо для совместимости с калом 300летним чтобы "бубизяны" не учили новую архитектуру а дристали на Сях свое говно
Аноним 15/03/26 Вск 14:23:54 #14 №330802901 
>>330802811
>компиляторі
Попався!
Аноним 15/03/26 Вск 14:24:42 #15 №330802932 
>>330802720
>>думал что массивы копируются только циклами
Так и есть. Ты же структуры берёшь, а не массивы.
Аноним 15/03/26 Вск 14:26:44 #16 №330802999 
А еще задачка:
a = 010;
Чему равно a?
sage[mailto:sage] Аноним 15/03/26 Вск 14:28:15 #17 №330803051 
>>330802901
なに
Аноним 15/03/26 Вск 14:29:56 #18 №330803106 
>>330802932
ну так в этом пакете пакет в этой структуре массив
Аноним 15/03/26 Вск 14:31:01 #19 №330803148 
>>330802999
010
Аноним 15/03/26 Вск 14:31:18 #20 №330803155 
image.png
>>330802720
Цикл там внутри и есть, просто он спрятан.
Всю работу по инициализации второго массива делает 20-я строчка в дизассемблере. Это вызов memcpy, которая реализована через цикл.
Аноним 15/03/26 Вск 14:31:50 #21 №330803181 
IMAGE 2026-03-15 14:31:39.jpg
>>330802999
не поебать ли
Аноним 15/03/26 Вск 14:34:50 #22 №330803286 
>>330799791
В смысле не на что? То что массив на станке не.знаяит что на него у азатель нельзя сделать.
Аноним 15/03/26 Вск 14:36:39 #23 №330803366 
>>330797126 (OP)
Ну так не делай так, ёпта.
Вместо массива можешь к структуре поинтер хранить, а можешь глобал бафер сделать и в структуре хранить баунды для того где этой структуре положено хранить
Аноним OP 15/03/26 Вск 14:39:31 #24 №330803479 
>>330803155
чаю ананас, спасибо
Аноним OP 15/03/26 Вск 14:43:12 #25 №330803617 
i.jpeg
>>330803366
> ебись пожалуйста с баундами на глобал буфер в 21 веке
звучит как то сложновато
Аноним 15/03/26 Вск 14:43:48 #26 №330803641 
алсо бросил си после того как попробовал долбиться в жопу коммон лисп
Аноним 15/03/26 Вск 14:44:29 #27 №330803668 
отстегнуть галку
Аноним 15/03/26 Вск 14:51:39 #28 №330803945 
у бидла нихуйово (!) полихает дупа с етого їтт трєда
Аноним 15/03/26 Вск 14:57:52 #29 №330804212 
>>330803617
А чё сложного? Это сложнее чем арифметика с указателями? Или это сложнее... чем что? Если тебе надо чтобы умный компилятор за тебя решил, что лучше массив хранить как референс и делать только неглубокую копию, то тогда тебе лучше выбрать язык в котором так устроено по дефолту. В Сях - что написал то и получай ( хотя тоже не всегда гарантия я слышал)
sage[mailto:sage] Аноним 15/03/26 Вск 15:04:42 #30 №330804487 
>>330803945
в цьому їтт треді палають дупи

Цікаво як була реалізована множинна множина, у бидла ж не одна срака на всіх. Знову вказівники треба юзати та наслідування структури
Аноним 15/03/26 Вск 15:07:43 #31 №330804606 
>>330804212
ну естественно сложней чем просто арифметика с указателями, тебе надо хранить глобальный трек на все указатели на этот буфер, либо писать функцию которая принимает на вход эти структуры и сама высчитывает валидные границы, короче вообще не понимаю как люди в сях со строками работают или картинками и прочей залупонью которой память нужна
sage[mailto:sage] Аноним 15/03/26 Вск 15:08:56 #32 №330804651 
>>330804606
memloc(99999999999999999)
Аноним 15/03/26 Вск 15:14:41 #33 №330804855 
image
>>330804606
тебе не нужна память, если ты не хранишь данные
Аноним 15/03/26 Вск 15:17:17 #34 №330804946 
>>330804606
Зачем тебе хранить трек на все указатели на буфер?
Ты его чё собрался деблокировать? Зачем? Если он глобальный то просто реюзай его на другие структуры, просто мемсеть на ноль его - и будет тебе типо фри но не фри. И буфер в кеше всегда, и к операционке лишний раз не обращаешься для алока
comments powered by Disqus