![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
AlexJohnson |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
Всем привет!
Возможно вопрос не касается именно языка с++, но все же: Вот многие знаю что тип int занимает в памяти 4 байта (если я сам не ошибаюсь), а как дело обстоит с именем переменной оно же может быть очень большым, например:
Сколько "места" занимает имя переменной в памяти или оно хранится где-то еще??? |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
нигде не хранится
|
|||
|
||||
AlexJohnson |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
Ммм... а как тогда компилятор понимает что надо "взять" ту или инную переменную?? |
|||
|
||||
InvalidProperty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 356 Регистрация: 31.10.2007 Где: Россия, Казань Репутация: 2 Всего: 9 |
по ее адресу
-------------------- dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null echo $0 >> $0 |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
во время компиляции хранится, в скомпилированном бинарнике (.ехе) не хранится...
|
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
я такого не знаю ![]()
говоря что переменная занимает 4 байта не имеется ввиду длина его наименования, а имеется ввиду сколько байт хранится для твоего числа (которое в этой самой переменной). В конечном счете после компиляции твой код превращается в машинный код. Почитай теорию компиляторов, много полезного узнаешь. |
||||
|
|||||
AlexJohnson |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
azesmcar, спасибо.
Исходя из того что ты сказал можно ли считать, что вцелом объем занимемого места в памяти перемнной будет сумма длины имени переменной в байтах + количествой байт занимаемой переменной значением? + покурить в сторону:
|
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
нет, имя переменно никакого значения не имеет, это для создано для твоего удобства во время программирования. В машинном коде переменных нет, там есть адреса |
|||
|
||||
AlexJohnson |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
Аааа... вот оно что! ![]() Ну ладно, если больше желающих отписаться нету, то поставлю как решеный. 2 azesmcar, а можеш что-то продемонстрировать мне на машинном языке какой-нибудь код, прошу прощения за ![]() Всем спасибо! |
|||
|
||||
Ofer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 293 Регистрация: 15.10.2006 Где: КривбаСС Репутация: нет Всего: 5 |
Нет. В скомпилированном exe файле имена переменных не сохраняются. То есть переменные
имеют одинаковый размер. Добавлено через 2 минуты и 45 секунд Вот машинный код ![]()
|
||||
|
|||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 3 Всего: 36 |
AlexJohnson,
... что-то продемонстрировать мне на машинном языке ...
|
|||
|
||||
azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
![]()
правда не знаю что он делает ![]()
|
||||||
|
|||||||
AlexJohnson |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
А как же моя "железяка" (комп) это воспринимает?? Наверно для этого (для меня непонятного) существует свой компилятор. Т.е. реально мне надо курить в сторону компиляторов. ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
AlexJohnson, комп это не воспринимает. Это ассемблер, он транслируется в машинные команды в результате там будет последовательность байтов, которые загрузит процессор и будет интерпретировать своим внутренним интерпретатором в микрокоманды управления регистрами разного назначения, производя все операции в двоичном виде.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
AlexJohnson |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 2.4.2007 Репутация: нет Всего: нет |
Всем большое спасибо!!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |