169 похожих чатов

Ребят, можете объяснить откуда берется мусор в неинициализированных переменных в

си если все неинициализированных переменные зануляются в секции bss??

10 ответов

16 просмотров

В .bss лежат глобальные переменные и static. Мусор в локальных, они выделяются на стеке, и туда действительно попадает то, что лежит в стеке. Специально их компилятор не очищает.

s54820
В .bss лежат глобальные переменные и static. Мусор...

Bss - глобальные неинициализированные же

Aleksandr
Bss - глобальные неинициализированные же

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

От того что эти переменные объявляются на стеке, если речь, конечно, про локальные переменные

Aleksandr
Bss - глобальные неинициализированные же

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
39
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Я делаю свой протокол. Сериализуется несколько типов данных: строки, числа и т.д. htons есть только для 16 или 32 битных чисел. На стаковерфлоу написано что 8 бит не надо пере...
~
9
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Хм, не переборщил ли с подсветкой адресов? Суть задумки взята из x64dbg, красным подсвечиваются адреса указывающие на исполняемый код, зеленым на данные (грубо на выделенную п...
Александр (Rouse_) Багель
13
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Карта сайта