06.06.2020, 17:45 [+3 UTC]
в нашей команде: 4 600 чел. | участники онлайн: 1 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
05.06.2020, 04:11

Последний вопрос:
06.06.2020, 13:05
Всего: 152583

Последний ответ:
06.06.2020, 15:11
Всего: 260252

Последняя рассылка:
06.06.2020, 16:45

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

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

Наша кнопка:

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

Отзывы о нас:
02.05.2019, 14:26 »
dar777
Это самое лучшее решение! [вопрос № 195430, ответ № 278027]
22.03.2010, 09:59 »
JayK
Огромное спасибо! С вашей помощью проблему удалось решить в полном объеме... [вопрос № 177383, ответ № 260300]
04.02.2011, 18:03 »
lamed
Спасибо, воспользуюсь советами. [вопрос № 182097, ответ № 265718]

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

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

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

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

Коцюрбенко Алексей Владимирович
Статус: Старший модератор
Рейтинг: 1600
var
Статус: 7-й класс
Рейтинг: 790
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 436

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

Консультация онлайн # 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.13499 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39