Страница: 1 | 2 |
Ну пусть Страуструп. Насколько мне известно (может и ошибаюсь) C++ широко распротранён только под Windows. А в Linux програмят под чистый C. 2@CyRax PTR: ты полностью прав, создатель Си - Ритчи, а вот создатель Си++ - Страуструп... Народ, не путайте си и си++ разные языки. Хотя си++ и продолжает си, они оч. сильно отличаются... В линух тоже давно си++ используют )) Хотя ядро вроде на си написано... Си++ - вообще язык, используемы и в виндах, и в мак ос, и в *nix )) Выделение памяти нужно не только для массивов или строк... Напрмер, тебе надо получить указатель на объект... Ты выделяешь для него память и получаешь только указатель, т.е. к объектй в данном слйчае обращение происходит только через указатель или ссылку... Это по-моему в COM широко применяется, при создании умных указателей... int* a = new int; //code delete a; Ладно. Всё равно уже отвлеклись от темы. Примеров похоже ни у кого нет, т.к. они расчитаны на C или ASM. А я читал (причём из разных источников) что единственное толичие - наличие классов. Или что ещё есть? 2Chill: Re: >2@CyRax PTR: ты полностью... Вообще-то это я писал.. Ну, не суть)) Апи справочник глянь там описано как использовать данные функции +) например Api Guide от All Api Вообще то там только частично. HeapCreate например нет.
Вопрос: Heap
Добавлено: 16.05.04 04:55
Автор вопроса: @CyRax PTR | Web-сайт:
Ответы
Всего ответов: 27
Номер ответа: 16
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #16
Добавлено: 18.05.04 19:42
Номер ответа: 17
Автор ответа:
Chill
ICQ: 554200
Вопросов: 101
Ответов: 343
Профиль | | #17
Добавлено: 18.05.04 23:27
Номер ответа: 18
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #18
Добавлено: 19.05.04 01:45
Номер ответа: 19
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #19
Добавлено: 19.05.04 10:25
Номер ответа: 20
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #20
Добавлено: 19.05.04 11:39
Номер ответа: 21
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #21
Добавлено: 19.05.04 12:47
Номер ответа: 22
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #26
Добавлено: 25.05.04 12:51
http://www.powerbasic.com/support/forums/Forum7/HTML/001560.html
Вот вам для ПБ эти функции.... для ВБ их использовать так же...
Номер ответа: 27
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #27
Добавлено: 26.05.04 21:30
Ок, гляну