~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 79C2944FAD61C704E775060DC7B2D0AF__1706055420 ✰
Заголовок документа оригинал.:
✰ Microsoft Layer for Unicode - Wikipedia ✰
Заголовок документа перевод.:
✰ Microsoft Layer для Unicode — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Microsoft_Layer_for_Unicode ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/79/af/79c2944fad61c704e775060dc7b2d0af.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/79/af/79c2944fad61c704e775060dc7b2d0af__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 20:26:53 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 24 January 2024, at 03:17 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Microsoft Layer для Unicode — Википедия Jump to content

Microsoft Layer для Юникода

Из Википедии, бесплатной энциклопедии

Microsoft Layer for Unicode ( MSLU ) — это программная библиотека для устаревших версий Windows, упрощающая создание программ с поддержкой Unicode в Windows 9x ( Windows 95 , Windows 98 и Windows Me ). Он также известен как UnicoWS ( Unicode для систем Windows 95/98/Me ) или по имени файла , UNICOWS.DLL .

Microsoft описала это как предоставление «прослойки поверх Win32 API в Windows 95/98/Me, позволяющей разработчику программного обеспечения написать единую версию своего приложения в Юникоде и обеспечить ее правильную работу на всех платформах». [1] Раньше разработчикам приходилось либо предоставлять две отдельные версии приложения, либо выполнять сложные преобразования строк и принимать решения API во время выполнения.

В настоящее время UnicoWS можно использовать для компиляции нового программного обеспечения, которое часто предполагает поддержку Unicode, для устаревших версий Windows. [2] UnicoWS также можно использовать во время компоновки для компиляции программного обеспечения на языках , которые не существовали одновременно с Windows 9x и требуют поддержки Unicode, например Rust . [2]

Альтернативы существуют, среди них OPENCOW.DLL , « Открытый уровень Unicode для Windows », бесплатная ( лицензия MPL 1.1/ GPL 2.0/ LGPL 2.1) повторная реализация MSLU от Mozilla .

Наличие [ править ]

MSLU был анонсирован в марте 2001 года и впервые стал доступен в качестве уровня совместимости для кода с поддержкой Unicode, написанного для новой на тот момент Windows XP RC1 в выпуске Microsoft Platform SDK от июля 2001 года . Это вызвало критику со стороны разработчиков, которые считают, что было « слишком поздно », поскольку он был выпущен задолго до пика популярности Windows 9x и всего за месяц до начала производства Windows XP. [3] MSLU было присвоено кодовое имя «Годо» , отсылка к « В ожидании Годо» , пьесе, сосредоточенной вокруг неудачи прибытия человека по имени «Годо» и бесконечного ожидания его, потому что такой уровень совместимости с Unicode считался — даже внутри Microsoft — давно назрели. [3]

Как это работает [ править ]

Обычно Windows API предоставляет оба A ( escape-коды ANSI и ASCII ) и символы W( «широкий» символ ) версии большинства подпрограмм . В Windows 9x только A версии реализованы и пытаются вызвать Wверсия завершится ошибкой с кодом ошибки, указывающим, что функция не реализована. В линейке операционных систем Windows NT оба A и W версии реализованы (однако операционная система обычно только внутренне реализует W исходная версия, и A переводом благодаря версия обычно является W версия).

Добавив UNICOWS.LIB в командной строке ссылки перед ЯДРО32.LIB , ADVAPI32.LIB или любой другой поддерживаемой библиотеки системных ссылок Win32, компоновщик разрешит ссылочные символы с теми, которые предоставлены Вместо этого UNICOWS.LIB .

Когда функция расширенных символов вызывается в первый раз во время выполнения, заглушка функции в UNICOWS.LIB сначала получает управление и проверяет, работает ли он в системе Windows 95/98/Me:

  • Если да, то он динамически загружается UNICOWS.DLL (если он еще не загружен) и передает управление соответствующей заглушке. Заглушка Thunking преобразует аргументы расширенных символов в строки ANSI, а затем вызывает встроенный код. A версию из ОС и переводит все возвращаемые строки обратно в формат расширенных символов.
  • Если ОС изначально поддерживает W версии (т. е. линейки операционных систем Windows NT), то заглушка функции обновляет таблицу символов в памяти , чтобы будущие вызовы напрямую вызывали собственную W версию без каких-либо дополнительных затрат.

Благодаря этому методу, когда приложение связывается с MSLU, только системы Windows 95/98/Me должны будут полагаться на него. UNICOWS.DLL во время выполнения, а во всех других версиях Windows наблюдается лишь небольшое снижение производительности при первом запуске. W функция вызывается.

Распространенная проблема возникает, когда некоторые пакеты обновлений или программы удаления переименовывают или удаляют любую из библиотек OLE ( OLEACC.DLL , OLEDLG.DLL ), которые являются зависимостями UNICOWS.DLL . [4] Это приводит к тому, что некоторые приложения, такие как OpenOffice.org , отображают ошибку с сообщением «Приложение не может запуститься, поскольку не найдена одна из необходимых библиотек». Это происходит, даже если UNICOWS.DLL установлен в системе, так как не может запуститься без своих зависимостей (см. также DLL hell ).

Ссылки [ править ]

  1. ^ «Уровень Microsoft для Unicode в системах Windows 95/98/Me» . Портал глобального развития и вычислений . Майкрософт . Архивировано из оригинала 16 апреля 2003 года . Проверено 25 апреля 2019 г.
  2. ^ Перейти обратно: а б Дуда, Деннис (26 мая 2020 г.). «Компиляция двоичных файлов Rust для Windows 98 SE и других: путешествие» . Сери.инструменты . Проверено 23 декабря 2021 г.
  3. ^ Перейти обратно: а б Каплан, Майкл Скотт (12 февраля 2005 г.). «Почему/как появился МГЛУ и многое другое» . Разбираем все это . Блоги сети разработчиков Microsoft . Архивировано из оригинала 4 июня 2011 года . Проверено 22 декабря 2021 г. (Иногда люди задают менее снисходительные версии вопроса, например, «Почему Microsoft так долго ждала, чтобы создать MSLU?» или «Почему вы ждали, чтобы создать MSLU, пока не стало слишком поздно?», но я буду придерживаться красивой версии вопроса! ).
  4. ^ «Вино: dlls/unicows/Makefile.in» . Вино (версия 6.0.2) . Винный проект . 26 октября 2021 г. Проверено 23 декабря 2021 г. - через Fossies (Архив свежего программного обеспечения с открытым исходным кодом).

Внешние ссылки [ править ]

Майкрософт [ править ]

Альтернативы с открытым исходным кодом [ править ]

  • libunicows — предоставляет лицензированную MIT версию только библиотеки ссылок UNICOWS.LIB, но по-прежнему требует предоставленную Microsoft UNICOWS.DLL или Mozilla OPENCOW.DLL .
  • opencow (ранее MZLU) — переопределяет библиотеку ссылок DLL и LIB как MPL 1.1/GPL 2.0/LGPL 2.1, изначально для Mozilla и от нее.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 79C2944FAD61C704E775060DC7B2D0AF__1706055420
URL1:https://en.wikipedia.org/wiki/Microsoft_Layer_for_Unicode
Заголовок, (Title) документа по адресу, URL1:
Microsoft Layer for Unicode - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)