Что означает "должен" в спецификациях?

На интернет-форуме я вижу, что пользователь говорит о reallocи POSIX. Он цитирует спецификацию, говоря:

realloc() функция освобождает старый объект, на который указывает ptr и вернуть указатель на новый объект, размер которого указан по размеру.

Затем указанный пользователь указывает, что в спецификации используется слово "должен" вместо "должен". Он уточняет, что из-за этого реализация realloc может отличаться на разных платформах, а затем предлагает избегать использования realloc чтобы не было утечек памяти.

Я не родом с английского, поэтому могу ошибаться, но мое понимание "будет" отличается от того, что было сказано выше. Для моего (возможно, ошибочного) понимания "должен" описывается императив; оно лежит где-то между "должен" и "воля" - поэтому это настолько сильный императив, что он почти отказывается признать, что может произойти что-то противоположное. Все знают эти строки:

Я Господь, Бог твой. У тебя не будет других богов до меня. Ты не должен делать тебе никакого изображения. Ты не будешь принимать имя Господа, Бога твоего, напрасно. Помни день субботний, чтобы святить его; Почитай отца твоего и мать твою. Не убивай. Не прелюбодействуй. Не укради. Не произноси ложного свидетельства на ближнего твоего. Не желай.

Я понимаю, что это абсолютные императивы, которые не допускают непослушания; и таким же образом я интерпретировал слово "будет" в спецификации POSIX и в любом другом подобном тексте.

Было ли мое понимание правильным? Или это было не так?

В частности - разрешает ли слово 'real' реализациямrealloc не освобождать старый объект?

0 ответов

Другие вопросы по тегам