![]() |
|
Модераторы: Се ля ви |
![]()
|
|
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Имеем консольное приложение на Паскале или на Си. Ну не суть в языке.
В программе используется энное кол-во переменных. Мне бы хотелось узнать каким образом выстраивается память под эти переменые и под всю программу в частности. Т.е. как я понимаю, под INT выделяется последовательно 2 байта. Под real - 4, первые два из которых под мантису, вторые под дробную часть... |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Так это, по-моему, сугубо зависит от языка.
Мы в свое время писали в институе упрощенный компилятор ассемблера, а потом - эмулятор программы, записанной машинных кодах. Я бы описал, но это все несложно найти в литературе (о кодах команд, размерностях типов, литералах...) -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Ну понятно что тип каждый в языке по своему выражен может быть. Но ведь есть какие-то общие правила.
Была бы такая, не спрашивал |
||||
|
|||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Обычно это обзывается "теорией компиляторов". На форуме это точно обсуждалось, вот только не поню, в каких разделах.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 3 Всего: 538 |
Как правило базовые типы данных идут от аппаратуры, чтобы обеспечить максимальную производительность. Хотя есть и исключения, но они редки.
У меня есть А. Ахо, Р. Сети, Дж. Ульман Компиляторы. Принципы, технологии, инструменты., могу поделиться если интерестно. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
В цифровом варианте? |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
Ну а что касается выделения, освобождения памяти под переменные, то тут я могу только по C++ судить: при объявлении переменной память выделяется в стеке и стек восстанавливается в тот момент, когда программа выходит из блока, где объявлена переменная. Это в том случае, если мы не объявляем статическую переменную. Для динамических переменных указатель тоже храниться в стеке, а сам объект в свободной памяти. В языках с ручным управлением памяти, динамическую память надо освобождать вручную. Это сообщение отредактировал(а) Perchilla - 5.11.2005, 16:03 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 3 Всего: 538 |
Да. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила раздела "Философия программирования": | |
|
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Философия программирования | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |