Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Heap Добавлено: 16.05.04 04:55  

Автор вопроса:  @CyRax PTR | Web-сайт: basicproduction.nm.ru/ | ICQ: 204447456 

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 16
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #16
Добавлено: 18.05.04 19:42

Ну пусть Страуструп. Насколько мне известно (может и ошибаюсь) C++ широко распротранён только под Windows. А в Linux програмят под чистый C.

Ответить

Номер ответа: 17
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #17 Добавлено: 18.05.04 23:27

2@CyRax PTR: ты полностью прав, создатель Си - Ритчи, а вот создатель Си++ - Страуструп...

Народ, не путайте си и си++ разные языки. Хотя си++ и продолжает си, они оч. сильно отличаются...

В линух тоже давно си++ используют =)))

Хотя ядро вроде на си написано...

Си++ - вообще язык, используемы и в виндах, и в мак ос, и в *nix

=)))

Выделение памяти нужно не только для массивов или строк...

Напрмер, тебе надо получить указатель на объект...

Ты выделяешь для него память и получаешь только указатель, т.е. к объектй в данном слйчае обращение происходит только через указатель или ссылку...

Это по-моему в COM широко применяется, при создании умных указателей...

int* a = new int;

//code

delete a;

Ответить

Номер ответа: 18
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #18
Добавлено: 19.05.04 01:45

Ладно. Всё равно уже отвлеклись от темы. Примеров похоже ни у кого нет, т.к. они расчитаны на C или ASM.

А я читал (причём из разных источников) что единственное толичие - наличие классов. Или что ещё есть?

Ответить

Номер ответа: 19
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #19 Добавлено: 19.05.04 10:25

2Chill:

Re: >2@CyRax PTR: ты полностью...

Вообще-то это я писал..:) Ну, не суть:)))

Ответить

Номер ответа: 20
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #20
Добавлено: 19.05.04 11:39

Апи справочник глянь там описано как использовать данные функции +) например Api Guide от All Api

Ответить

Номер ответа: 21
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #21
Добавлено: 19.05.04 12:47

Вообще то там только частично. HeapCreate например нет.

Ответить

Номер ответа: 22
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #22
Добавлено: 22.05.04 00:32
Куча - область памяти, предназначенная для данных неопределенного заранее размера, т.е. в которой память выделяется по требованию программы. Например, если заполняется массив, причем заранее неизвестно, сколько в нем будет элементов, надо воспользоваться кучей, тогда не возникнет GPF.
> GlobalAlloc вообще не рекомендуется использовать в Win32. Если я не ошибаюсь, то это абсолютная функция.
Откуда такая неверная информация? GlobalAlloc и LocalAlloc в Win32 - одно и то же, а выделяла физическую память она в Win16, тогда они отличались.
> эти все функции не нужны в VB т.к. там и так есть очень удобные функции фыделения памяти
Которые работают со скоростью улитки. Попробуй выделить строку размером с метр.
> рекомендует использовать именно new и delete, говорит, что они более быстры и безопасны
Так и есть, тем более, что new и delete позволяют создавать и удалять еще и объекты.
> Си - Керниган и Риччи
Керниган и Ричи - авторы книги по Си. Придумал Си только Ричи.
> А пример на VB/PB есть у кого для полной ясности?
API Guide
> C++ широко распротранён только под Windows
Неправда, С++ распространен под все платформы. А под Линукс пишут чаще на простом Си для универсальности.
> А я читал (причём из разных источников) что единственное толичие - наличие классов. Или что ещё есть?
Еще более строгий контроль типов, например. Отличий, в общем-то, масса, просто ООП - самое значительное.

Ответить

Номер ответа: 23
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #23
Добавлено: 24.05.04 15:27
>Откуда такая неверная информация? GlobalAlloc и LocalAlloc в Win32 - одно и то же, а выделяла физическую память она в Win16, тогда они отличались.
===
 Не вижу здесь неверной информации. Сначала немного обдумай ответ, а потом уже пость его.
 Абсолютная функция - это функция совместимая с Win16. GlobalAlloc и LocalAlloc не рекомендуется использовать по причине потери скорости.
Т.к. в Win16 память разбита на сегменты (как в DOS), а в Win32 используется один 4-ГБ сегмент.

>API Guide
 - Там не всё.

Ответить

Номер ответа: 24
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #24
Добавлено: 24.05.04 21:50
> Абсолютная функция - это функция совместимая с Win16.
Функция, совместимая с Win16 - нонсенс. Эта функция БЫЛА в Win16.
> GlobalAlloc и LocalAlloc не рекомендуется использовать по причине потери скорости.
Я что-то пропустил? А что рекомендуется использовать вместо них?
> Там не всё
Остальное (большинство) в win32.hlp
> Т.к. в Win16 память разбита на сегменты (как в DOS), а в Win32 используется один 4-ГБ сегмент
В Win32 это называется адресное пространство, сегментов там нет ни одного.

Ответить

Номер ответа: 25
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #25
Добавлено: 24.05.04 23:30
>Функция, совместимая с Win16 - нонсенс. Эта функция БЫЛА в Win16.
 - Вообще то я больше доверяю MSDN.

>Я что-то пропустил? А что рекомендуется использовать вместо них?
 - Вместо них рекомендуется использовать HEAP

>В Win32 это называется адресное пространство, сегментов там нет ни одного.
 - Можно и так назвать. "Адресное пространство" (а в профессиональной терминологиий - сегмент), адресуемое в 16-разраядной системе, ограничено 64 кБ. В 32-разрядной системе - 4 Гб. Это очень просто подсчитать. В 16 битах можно уместить только 64 кБ, а 32 - 4 ГБ.
По этому программирование по принципу SEGMENT16:OFFSET16 просто устарело. В единственном 4 Гб адресном пространстве (сегменте) просто указываешь смещение.

Ответить

Номер ответа: 26
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #26
Добавлено: 25.05.04 12:51
http://www.powerbasic.com/support/forums/Forum7/HTML/001560.html


Вот вам для ПБ эти функции.... для ВБ их использовать так же...

Ответить

Номер ответа: 27
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #27
Добавлено: 26.05.04 21:30
Ок, гляну

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам