Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 142
от 09.12.2002, 17:51

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 422
Отправлено ответов: 930
Активность: 220.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pinman
Статус: Доверительный
Общий рейтинг: 144.3
[Подробней >>]
Andrew Vext
Статус: Доверительный
Общий рейтинг: 109.25
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.66
URL: Страничка обо мне и моих друзьях
[Подробней >>]
 
Pablo
Статус: Профессиональный
Общий рейтинг: 118.36
URL: Моя страничка
[Подробней >>]
Dzik
Статус: Профессиональный
Общий рейтинг: 115.03
URL: Разработка игрушек
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.11
[Подробней >>]
 
Jadd
Статус: Профессиональный
Общий рейтинг: 142.83
[Подробней >>]
Avl2k
Статус: Доверительный
Общий рейтинг: 127.39
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 411. Happy time for all experts. Сделал небольшую програмку на Си со вставкой на ассемблере. Борланд Турб... (ответов: 1)
Вопрос № 412. Здравствуйте! Как в C++ Builder в TImage устранить мерцание при обновлении рисунка? Большое спасибо!... (ответов: 1)
Вопрос № 413. Всем привет! Вот такой вопрос... Какой наибольший объем блока памяти можно выделить с помощью ... (ответов: 7)

Вопросов: 3, ответов: 9


 Вопрос № 411

Happy time for all experts.
Сделал небольшую програмку на Си со вставкой на ассемблере.
Борланд Турбо Си 3.0 Она в приложении(вставка). Пашет. Но
если я пытаюсь внутри функции избавиться от локальных переменных
и присвоить значения параметрам, передаваемым в функцию(в ассемблерную
вставку), напрямую, без посредничества локальных переменных,
то ничего не получается. Вопрос: а почему так? Почему вариант
в приложении правильный, а без локальных переменных не працюэ.
Знаю. У меня нет коректного перевода BCD чисел в тот формат,
который нужен и данный вариант правилен только для 30 ноября.
Это я потом доделаю. Меня интересует локальные переменные.
Поскольку вопрос двойственный, то отправил в две рассылки.
Настойчивый оффтопик(в прошлых вопросах он был, но вряд ли вы
его получили) -
Offtopic of Fun: В Far Managerе нажимаем F11, выбираем список
процессов(List Process), ищем explorer.exe, нажимаем F8,
подтверждаем удаление, нажимаем F10, выходим из Фара и
... ляпота
Работает также в Win2000 Server, если админ ленивый:)


Приложение:


Вопрос отправлен: 06.12.2002, 04:14
Отправитель: Начинающий ламер

[Следующий вопрос >>] [Список вопросов]

Отвечает Pinman

Приветствую Вас, Начинающий ламер!
Скорее всего проблемма связано с тем, что компилятор не понимает правильно переменные, находящиеся в другом сегменте.

Ответ отправлен: 06.12.2002, 19:31
Отправитель: Pinman


 Вопрос № 412

Здравствуйте!
Как в C++ Builder в TImage устранить мерцание при обновлении рисунка?
Большое спасибо!
Fuhrer
----
http://windows-reg.narod.ru



Вопрос отправлен: 06.12.2002, 15:32
Отправитель: Fuhrer

[Следующий вопрос >>] [Список вопросов]

Отвечает Andrew Vext

Приветствую Вас, Fuhrer!
Синхронизируйте обновление рисунка с кадровой разверткой монитора.

Ответ отправлен: 06.12.2002, 17:29
Отправитель: Andrew Vext


 Вопрос № 413

Всем привет!
Вот такой вопрос... Какой наибольший объем блока памяти можно выделить с помощью new? Только не надо говорить, что теоретически 4Гб (или, как пытался доказать нам Broken Sword - пара терабайт). Мне не надо теоретически. Мне интересно с практической точки зрения - ну, допустим, надо мне выделить 600 Кбайт массив - всегда ли сможет оно выделиться? А если несколько Мегабайт? Были у кого-нибудь траблы?
Спасибо.



Вопрос отправлен: 06.12.2002, 17:41
Отправитель: baldr (baldr@pisem.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Добрый день, baldr!
Невозможно сказать точно, сколько возможно выделить памяти, так как на это влияет множество факторов, таких как объем свободной памяти, etc...

Ответ отправлен: 06.12.2002, 18:15
Отправитель: Gibbel


Отвечает Pinman

Доброе время суток, baldr!
Ну, это зависит от того, в каком режиме ты работаешь. Если в реальном, то максимальный режим - 64K, а если в защищенном или расширенном, то столько, сколько даст ОС.
Рекомендация: чтобы избежать проблемм, не создавай блоки более 64К

Ответ отправлен: 06.12.2002, 19:26
Отправитель: Pinman


Отвечает Pablo

Доброе время суток, baldr!
Вот кусок из рассылки Крутого Меча:
"А как же обстоит дело с линейным адресным пространством? Здесь все еще проще: линейное адресное пространство процесса ТЕОРЕТИЧЕСКИ могло бы составлять максимум – 4 Гб, но т.к. верхние 2 Гб ОС Win NT защищены от доступа на уровне СТРАНИЦ, то получается, что ЛИНЕЙНОЕ АДРЕСНОЕ ПРОСТРАНСТВО ПРОЦЕССА В ОС Win NT = 2 Гб. В Win 9x – чуть больше, 3 Гб."
Так что если Винды и помощьью своего механизма виртуализации позаолят то ты можешь с помощью new выделить до 2Гб памяти, т.к. new выделяет тока блок памяти из линейного пространства адресов.

Ответ отправлен: 08.12.2002, 17:23
Отправитель: Pablo


Отвечает Dzik

Доброе время суток, baldr!
Все таки макс обьем 4 гб или несколько террабайт!
У меня работал ~900 mb.
Правда выделялся из-за глюков.
Но 8 метров выделяю постоянно и никаких проблем!


Ответ отправлен: 06.12.2002, 18:13
Отправитель: Dzik


Отвечает vitya

Здравствуйте, baldr!
все зависит от состояния системы в данным момент времени. Если ты даже треснешь, то больше чем sizof(RAM) + sizeof(PageFile) тебе выделить не удасться, на самом же деле, очевидно, что там часть памяти занята другими процессами и системой, поэтому реальное, что тебе удасться выделить меньше.
Теперь, если ты работаешь под нт/2000/ХП, то ты на самом деле теоретически можешь выделить примерно 2гб памяти. Я лично больше десяти мегабайт одновременно не выделял - у меня эта память выделялась. Считай, что гиг (если фзически он может быть выделен), ты выделить сможешь. Кусками я выделял 2.6гб (2000 сервер, где можно поставить каждому процессу по 3гб адресного пространства).
Вот так...

Ответ отправлен: 07.12.2002, 09:16
Отправитель: vitya


Отвечает Jadd

Здравствуйте, baldr!
Такие объемы выделять нецелесообразно. Но, можно. Траблов у меня небыло, поскольку, я - благоразумен и не предстваляю задачи, которая требует таких массивов данных. Если ты мне приведешь хоть пару примеров надобности в таких блоках.

Ответ отправлен: 09.12.2002, 03:11
Отправитель: Jadd


Отвечает Avl2k

Приветствую Вас, baldr!
Теоретически на 32-битных платформах действительно 4Гб (new имеет параметром unsigned int).
А практически - сильно зависит от реализации библиотеки CRT, операционной системы и ее настроек. Лично у меня в VC++ 6.0 на Win2000 (new реализован через HeapAlloc) при физической памяти 256Мб и файле подкачки до 760Мб максимально выделяется 800Мб.
С уважением, Avl2k.

Ответ отправлен: 09.12.2002, 11:23
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (39)
C / C++ (28)
Perl (6)
Delphi (19)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (11)
PHP (6)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (31)
Windows NT/2000/XP (21)
"Железо" (29)
Поиск информации (14)
Администратору
Windows NT/2000/XP (12)
Linux / Unix (16)
Юристу
Гражданское право (10)
Семейное право (3)
Трудовое право (5)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное