Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi >> C++, Переход 
:(
    Опции темы
skyboy
Дата 26.11.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(MAKCim @  26.11.2006,  17:10 Найти цитируемый пост)
реализации массивов с неконстантной верхней границей на стеке тоже нет 

подскажи, когда такое надобно. а то я уже и голову сломал smile Нет, не иронизирую, правда, не представляю.
P.S. А объект тоже можно в стек положить?
PM MAIL   Вверх
Void
Дата 26.11.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(skyboy @  27.11.2006,  00:43 Найти цитируемый пост)
А объект тоже можно в стек положить? 

В C++ — да.
Хорошо это или плохо — другой вопрос. Как всегда, дополнительная гибкость порождает дополнительные возможности и одновременно проблемы.



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
MAKCim
Дата 26.11.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

P.S. А объект тоже можно в стек положить? 

а то
Цитата

подскажи, когда такое надобно. а то я уже и голову сломал smile Нет, не иронизирую, правда, не представляю.

да много где
вот надо например в функции временный буфер для хранения промежуточных значений
тут два решения:
1. Использовать обычный массив с константной верхней границей. Это не здорово, потому как приходится перестраховываться и делать массив чрезмерно большим, предусматривая максимальную границу
2. Динамическое выделение памяти. Тоже плохо, потому как тут другая проблема - скорость


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Daevaorn
Дата 26.11.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(skyboy @  26.11.2006,  23:43 Найти цитируемый пост)
подскажи, когда такое надобно. а то я уже и голову сломал 

Там где размер массива зависит от входного параметра и где критичная скорость, т.к. на стеке память выделяется в разы быстрее.
PM MAIL WWW   Вверх
MAKCim
Дата 26.11.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Хорошо это или плохо — другой вопрос. Как всегда, дополнительная гибкость порождает дополнительные возможности и одновременно проблемы.

Не согласен. Проблем не будет. В этом вся соль: при наличии 2-ух способов размещения всегда можно принять решение о том, каким способом воспользоваться. Так что берем их обоих вариантов только лучшее в конкретной ситуации


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 26.11.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



MAKCim, у идеального программиста проблем вообще никогда не бывает, на чём бы он ни писал smile
Так, навскидку, проблема, порождённая исключительно возможностью размещения объектов в стеке: «срезка». Очевидная для бывалого C++ника, но лучше бы всё-таки без неё, не так ли?


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
MAKCim
Дата 27.11.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Так, навскидку, проблема, порождённая исключительно возможностью размещения объектов в стеке: «срезка». Очевидная для бывалого C++ника, но лучше бы всё-таки без неё, не так ли?

главное об этой проблеме иметь представление
а поначалу, я думаю, в любом языке будешь на грабли наступать. Другое дело, что где-то граблей больше, а где-то меньше (где меньше, там обычно сами языки плоские как грабли  smile )


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Alexeis
Дата 27.11.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(Daevaorn @  26.11.2006,  22:59 Найти цитируемый пост)
Там где размер массива зависит от входного параметра и где критичная скорость, т.к. на стеке память выделяется в разы быстрее. 

А разве она там выделяется вообще? Просто пишем в стек и все, че ее там еще выделять? 

Цитата(skyboy @  26.11.2006,  22:43 Найти цитируемый пост)
P.S. А объект тоже можно в стек положить? 

Да можно, конечно, но есть ли в этом необходимость. Реализация будет просто посложнее с использованием ассемблерных вставок, а так имея на вооружении мощный встроенный ассемблер, практически любые задачи становятся по плечу smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
SergeCpp
Дата 27.11.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Выделение памяти в стеке производится командой SUB SP, <desired_size>

PM MAIL WWW ICQ   Вверх
Alexeis
Дата 27.11.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



SergeCpp,  smile 



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
SergeCpp
Дата 27.11.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



user posted image
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 27.11.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

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

любые  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Alexeis
Дата 27.11.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(MAKCim @  27.11.2006,  16:15 Найти цитируемый пост)
любые smile  

Я вообще про встроенный делфийский ассемблер, а в нем доступны не все команды ассемблера для любого процессора. Например, захочу я использовать арифметические регистры Athlon 64 (64 разрядные), ан нет ассемблер скажет хрен вам, не знаю я такого. Т.е. так в данной версии еще нет такой поддержки. Вот только теперь начинаешь ощущать прелесть машинных кодов  smile  smile  smile  smile  smile  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MAKCim
Дата 27.11.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Я вообще про встроенный делфийский ассемблер, а в нем доступны не все команды ассемблера для любого процессора.

сомневаюсь, что можно найти компилятор, который сможет генерировать код для любого процессора
GCC - это, конечно, мощь и сила  smile , но даже в нем представлены далеко не все платформы


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Alexeis
Дата 27.11.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Значит таки я был прав когда сказал практически любые вместо любые  smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0994 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.