Четвертый Borland C++ и его окружение

       

- F -


Failed to locate DPMI server (MPMI16BI.OVL)

Failed to locate protected mode loader (DPMILOAD.EXE)


Сообщение об ошибке этапа компиляции

(не найден сервер DPMI)

Убедитесь, что файлы MPMI16BI.OVL находится в каком-либо

указанном в маршруте каталоге, или в том же каталоге, что и командное средство защищенного режима, которое вы пытаетесь использовать.

Failed to locate protected mode loader (DMPILOAD.EXE)


Фатальная ошибка командной строки:

(не найден загрузчик защищенного режима)

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

Failed read from имя_файла


Сообщение об ошибке утилиты TLINK

(чтение из файла невозможно)



Компоновщик не может прочитать данный файл.

Failed write from имя_файла


Сообщение об ошибке утилиты TLINK

(запись в файла невозможна)

Компоновщик не может записать данный файл.

__far16 may be used with __pascal or __cdecl


Сообщение об ошибке этапа компиляции

(__far16 может использоваться __pascal или __cdecl)

Для вызовов функций или ссылки на данные в 16-разрядной DLL

вы использовали __far16, но такие функции и данные могут модифицироваться только с помощью __pascal или __cdecl.

File must contain at least one external declaration


Сообщение об ошибке этапа компиляции

(файл должен содержать хотя бы одно объявление external)

Данная единица компиляции было логически пустой и не содержала никаких объявлений. Язык Си стандарта ANSI и С++ требуют,

чтобы в единице компиляции находились какие-нибудь переменные.

File name too long


Сообщение об ошибке этапа компиляции

(слишком длинное имя файла)

Имя файла в директиве #include было слишком длинным для обработки его компилятором. Имена файлов в DOS не могут превышать

79 символов.

File name too long


Сообщение об ошибке этапа компиляции

(имя файла имеет слишком большую длину)

Имя файла, заданное в директиве !include, имеет слишком

большую длину для обработки ее обслуживающей программой МAKE 512 байт (размер внутреннего буфера).




имя_файла file not found

Предупреждение утилиты TLIB

(указанный файл не найден)

Библиотекарь, работающий в режиме командной строки, пытается

добавить несуществующий объект, но библиотека создана.

имя_файла file not found

Сообщение об ошибке утилиты TLIB

(указанный файл не найден)

Интегрированная интерактивная среда создает библиотеку, удаляя сначала существующую библиотеку, а затем выполняя перестройку. Если какой-либо объект не существует, то библиотека считается

неполной, и возникает данная ошибка. Если интегрированная среда

сообщает, что библиотека не существует, то при компиляции исходного модуля могли быть ошибки. Выполнение команд Compile Make или

Compile Build должно помочь избавиться от ошибки, или определить,

где существует ошибка.

имя_файла(имя_строки): File read error

Сообщение об ошибке утилиты TLINK

(ошибка чтения файла)

При чтении программой TLINK файла определения модуля возникла ошибка DOS. Это обычно указывает не преждевременный конец файла.

Fixup to zero length segment in module модуль

Сообщение об ошибке утилиты TLINK

(корректировка в сегмент с нулевым размером в указанном модуле)

Указывает на некорректную ссылку в объектном коде (которую

TLINK должен скорректировать во время компоновки) на код или данные.

Fixup owerflow at адрес, target=адрес

Сообщение об ошибке утилиты TLINK

(переполнение корректировок по указанному адресу)

Некорректные данные или ссылка на код в объектном файле, который компоновщик должен корректировать на этапе компоновки.

Причиной часто бывает несоответствие моделей памяти. Чаще

всего имеется ближний вызов функции в другом сегменте кода. Данная ошибка может также возникнуть, если вы генерируете ближнее

обращение к данным или ссылку данных на функцию. В любом случае

идентификатор, указанный в target в сообщении об ошибке - это переменная или функция, на которую делается ссылка. Ссылка находится в указанном модуле, поэтому ищите в исходном файле данный модуль.

В программе на языке Ассемблера переполнение корректировок



часто возникает, если вы описываете внешнюю переменную в определении сегмента, но данная переменная на самом деле существует в

другом сегменте.

Если данный метод не позволяет идентифицировать причину

ошибки, или вы программируете на языке высокого уровня, отличном

от Borland C++, то эта ошибка может вызываться другими причинами.

В Borland C++ данная ошибка может генерироваться, если вы используете сегменты и имена групп, отличные от используемых для данной

модели памяти по умолчанию.

Floating point error: Divide by 0

Floating point error: Domain

Floating point error: Overflow

Сообщение об ошибке этапа выполнения

(ошибка операции с плавающей точкой: деление на 0 или переполнение)

Данная фатальная ошибка является следствием операции с плавающей точкой, для которой результат не определен. "Деление на 0"

означает, что результат равен в точности +INF или -INF (плюс или

минус неопределенность), например для операции 1.0/0.0. Domain

означает, что результат не является числом, а переполнение - на

потерю значимости, например в случае присваивания 1e20*1e20 переменной типа double.

Floating point error: Partial loss of precision

Сообщение об ошибке этапа выполнения

(ошибка операции с плавающей точкой: частичная потеря точности)

Эта особая ситуация по умолчанию маскируется, и сообщения об

ошибках не выдаются. Потери точности игнорируются. Отменить маску

можно, вызвав _control87.

Floating point error: Underflow

Сообщение об ошибке этапа выполнения

(ошибка операции с плавающей точкой: потеря значимости)

Эта особая ситуация по умолчанию маскируется, и сообщения об

ошибках не выдаются. Потеря значимости преобразуется в ноль. Отменить маску можно, вызвав _control87.

Floating point error: Stack fault

Сообщение об ошибке этапа выполнения

(ошибка операции с плавающей точкой: сбой в стеке)

Это сообщение указывает на выход за границы стека плавающей

точки. В нормальных условиях оно не появляется и поэтому может

означать либо то, что ассемблерный код использует слишком много



регистров, либо неправильное объявление функции с плавающей точкой.

Этой ошибки можно избежать, маскируя особые ситуации таким

образом, чтобы они не появлялись, либо перехватывая их функцией

signal или _control87.

For statement missing (

Сообщение об ошибке этапа компиляции

(в операторе for отсутствует ()

В операторе for компилятор не нашел левой круглой скобки

после ключевого слова for.

For statement missing )

Сообщение об ошибке этапа компиляции

(в операторе for отсутствует ))

В операторе for компилятор не нашел после управляющего выражения правой круглой скобки.

For statement missing ;

Сообщение об ошибке этапа компиляции

(в операторе for отсутствует ;)

В операторе for компилятор не нашел точки с запятой после

одного из выражений.

Friend must be functions or classes

Сообщение об ошибке этапа компиляции

("друзья" должны быть функциями или классами)

Дружественной в C++ может быть класс или другая функция.

Function call missing )

Сообщение об ошибке этапа компиляции

(в вызове функции отсутствует ))

Список аргументов при вызове функции содержит какую-то синтаксическую ошибку, например, отсутствует закрывающая правая

скобка.

Function calls not supported

Сообщение об ошибке этапа компиляции

(вызовы функции не поддерживаются)

При вычислении выражения интегрированным отладчиком вызовы

функций (включая функции неявного преобразования, конструкторы,

деструкторы, переопределенные операции и встраиваемые функции) не

поддерживается. Данное сообщение выводится отладчиком интегрированной среды.

Function defined inline after use as extern

Сообщение об ошибке этапа компиляции

(функция определена как встраиваемая после объявления

extern)

Функцию после того, как она была уже была использована нельзя определить как встраиваемую (inline). Или переставьте определение inline выше в тексте, или удалите его совсем.

Function definition cannot be a typedef'ed declaration

Сообщение об ошибке этапа компиляции

(определение функции не может быть объявлением typedef)



В Си стандарта ANSI тело функции не может определяться с помощью typedef с функцией Type.

Function функция cannot be static

Сообщение об ошибке этапа компиляции

(функция "функция" не может быть статической)

Только обычные функции-элементы и операции new и delete могут быть объявлены статическими (static). Конструкторы, деструкторы и прочие операции статическими быть не могут.

Function функция should have a prototype

Сообщение об ошибке этапа компиляции

(функция "функция" должна иметь прототип)

При вызове функции в области действия отсутствовал ее прототип.

В Си int foo(); не является прототипом, а int foo(int); является, также как и int foo(void);. В С++ int foo(); является

прототипом, также как и int foo(void);. В Си прототипы рекомендуется иметь для всех функций. В С++ прототипы для всех функций

обязательны. Во всех случаях, определение функции (заголовок и

тело функции) служит как прототип, если стоит перед любым другим

упоминанием функции.

Function should return a value

Предупреждение этапа компиляции

(функция должна возвращать значение)

Данная функция была описана (возможно неявно) как возвращающая значение. Был обнаружен оператор return без возвращаемого

значения или конец функции без оператора return. Возвращайте значение или описывайте функцию как void.

Functions функция_1 and функция_2 both use the same dispatch number

Сообщение об ошибке этапа компиляции

(обе функции используют один номер диспетчеризации)

Ошибка диспетчеризуемой виртуальной таблицы (DDVT). При переопределении динамически диспетчеризуемой функции в производном

классе используйте тот же индекс диспетчеризации.

Function cannot return array of functions

Сообщение об ошибке этапа компиляции

(функция не может возвращать массив функций)

Функция не может возвращать массив функций. Допускается возврат указателей или ссылок на массивы.

Functions containing local destructors are not expanded

inline in function функция

Предупреждение этапа компиляции



(функции, содержащие локальные деструкторы не могут быть

встраиваемыми функциями)

Вы создали встраиваемую функцию, для которой Borland C++

запрещает встраивание. Вы можете проигнорировать это предупреждение; охватывающая функция будет сгенерирована без расширения

встраиваемых функций.

Functions containing резервируемое_слово are not expanded inline

Предупреждение этапа компиляции

(функции, содержащие резервируемое_слово не могут быть

подставляемыми)

Функции, содержащие резервируемые слова do, for, while,

goto, switch, break, continue и case, не могут быть подставляемыми, даже при наличии задания их как inline. Функция может использоваться, но будет рассматриваться как обычная статическая (не глобальная) функция. Копия этой функции будет находиться в любой

единице компиляции, где она вызывается.

Functions may not be part of a struct or union

Сообщение об ошибке этапа компиляции

(функции не могут быть частью структуры или объединения)

Данное поле структуры или объединения Си было объявлено с

типом функции, а не указателя функции. Функции в качестве полей

разрешены только в С++.


Содержание раздела