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

Всем привет! Такой вопрос Верно ли я определяю размер стека таким

способом?
Я иду сначала обратно (i -= 1) пока не встречу ошибку. Потом вперёд (i += 1).
Потом складываю получившиеся максимальные значения и получаю 8мб

unsigned char x = 'A';
int i;
for (i = 0; i <= 10000000; i -= 1) {
printf("i is %i, p is %c\n", i, *(&x + i));
}

10 ответов

5 просмотров

Слова тут есть, а кода нет... Какая ошибка, где это "сначала назад, потом вперёд, складываю"... К тому же, никакого стэка в С нет, что ты вычисляешь, не понятно. Можешь привести ссылку на документацию, стандарт, описывающую этот самый стек, размер которого ты вычисляешь?

Dmitry-Croft Автор вопроса

Ты имеешь ввиду что это не описано в спецификации? Но де факто он же есть. Разве есть реализации C без стек памяти?

Dmitry Croft
Ты имеешь ввиду что это не описано в спецификации?...

Безусловно, есть реализации С на платформах, где не применяется так называемый стек для вызовов функций.

Dmitry-Croft Автор вопроса
Ilya Zviagin
Безусловно, есть реализации С на платформах, где н...

За новый знания спасибо, но шо то ты прям жостко докопался, понятно же что я имел ввиду

Где это всё в коде написано? Можешь добавить вот к каждой строчке твоего кода в виде комментариев, что ты где из этого делааешь? Просто у тебя это не получится, потому что код этого всего не делает от слова "совсем".

Dmitry-Croft Автор вопроса
Ilya Zviagin
Где это всё в коде написано? Можешь добавить вот ...

Код делает только одну часть (-1), потом я меняю - на плюс (i += 1) и запускаю его заново. Если не понятна мысль и так, то могу расписать построчно

Dmitry Croft
Код делает только одну часть (-1), потом я меняю -...

Ну, мне расписывать-то не надо, мне это не интересно, это ты вопрос задавал. А эти волнующие подробности мы узнали только вот сейчас. Оказывается , 2/3 кода лишь у тебя в голове...

Dmitry-Croft Автор вопроса

Возвращаясь к этому вопросу. Сегодня додумался посмотреть как мой код выглядит в ассамблере (прикладываю скрин из дебагера с кодом и вссабмлером). В итоге получается, что никакой магии под капотом не происходит при разыменовании указателя т.е. там хранится напрямую адрес памяти через который и вытаскивается нужный объект в регистр. Я прав?

Dmitry Croft
screenshot Возвращаясь к этому вопросу. Сегодня додумался по...

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

Dmitry Croft
screenshot Возвращаясь к этому вопросу. Сегодня додумался по...

да, указатель это абстракция над адресами в процессорах. Переменные типа указатель хранят адреса напрямую

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта