вторник, 10 марта 2009 г.

Почему компилятор ресурсов жалуется на строки длиннее 255 символов?

Это перевод Why does the Resource Compiler complain about strings longer than 255 characters? Автор: Реймонд Чен.

Как мы узнали в прошлый раз, строковые ресурсы группируются в кучки по 16, перед каждой Unicode-строкой записывается её длина 16-ти битным числом. Так почему же Resource Compiler жалуется нас строки, если её длина превышает 255 символов?
Это ещё один рудимент из времён 16-ти битных Windows.

Во времена Win16 строковые ресурсы также группировались в блоки по 16, но строки хранились как ANSI, не Unicode, и префикс длины был только 8-ми битным.

А 255 - это максимальная длина, которую вы можете указать в 8-ми битном поле.

Если ваша 32-х битная DLL содержит строки длиннее 255 символов, то 16-ти битные программы не смогут их использовать.

Сегодня это обычно не имеет значения, но это предупреждение оставалось в Resource Compiler довольно долго.
Похоже, сейчас его уже убрали. Ну и слава богу.

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.