21.07.2019, 06:28 [+3 UTC]
в нашей команде: 3 751 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
18.07.2019, 12:26

Последний вопрос:
20.07.2019, 17:15
Всего: 149945

Последний ответ:
20.07.2019, 16:43
Всего: 258714

Последняя рассылка:
21.07.2019, 01:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
25.09.2010, 20:16 »
kot31
Спасибо, мой ответ был таким же, но не так подробно и всё по полочкам... [вопрос № 180022, ответ № 263185]
16.12.2010, 01:37 »
Савенков Михаил
Спасибо за быстрый ответ! [вопрос № 181369, ответ № 264797]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 209
solowey
Статус: Практикант
Рейтинг: 184
Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 146

Перейти к консультации №:
 

Консультация онлайн # 70315
Раздел: • С / С++
Автор вопроса: Palpatin
Отправлена: 10.01.2007, 17:29
Поступило ответов: 3

Здравствуйте, уважаемые эксперты.
Философский вопрос, а что значит буква "L" в LPVOID, LPCSTR и прочих? Ведь можно и PVOID создавать и вроде нет разницы. В чем смысл этой "L"? =)

Состояние: Консультация закрыта

Ответ # 135780 от Madproger

Здравствуйте, Palpatin!

L - long

Исторически сложилось. Когда были 16-битные машинки это означало
LPVOID = 32 bit
а
PVOID = 16 bit

На данный момент вроде нет разницы

LPVOID = PVOID = void*


Консультировал: Madproger
Дата отправки: 10.01.2007, 17:39

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Здравствуйте, Palpatin!
Это историческое наследие:
На 16-битных системах были такие понятия как ближний указатель и дальний (far или long)
Дальний состоял из двух 16-битных значений - адрес и смещение в блоке,
а ближний - просто смещение, которое определяло положение области памяти в адресном пространстве программы (тогда программы без дополнительных телодвижений использовали адресное пространство памяти размером 2^16 байт (65535), для использования большей памяти требовались менеджеры памяти, которые умели адресовать ее блоками по 65к)
Теперь все указатели 32-битные и в таком делении отпала необходимость, но обозначения остались(можно сказать для совместимости)


Консультировал: Tek
Дата отправки: 10.01.2007, 17:50

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 135816 от Шинтяков Дмитрий Васильевич /

L означает Long, и досталась в наследие от 16-битных операционных систем, где были разные модели памяти, ограничение на объём одного объекта в 64Кб и прочие ужасы. Указатель разделялись на near и far (т.е. long).

Сейчас (в 32-битных системах) все указатели Long, так что разницы действительно нет.


Консультировал: Шинтяков Дмитрий Васильевич /
Дата отправки: 10.01.2007, 19:19

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.17789 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35