Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
lock----------------------------------------------------------------- Назначение Устанавливает блокировки разделения файлов. Синтаксис int lock( int handle, long offset,long length); Прототип в io.h Замечания lock обеспечивает взаимодействие с механизмом разделения файлов MS-DOS 3.x. lock может быть наложена на произвольную непе- рекрывающуюся область любого файла. Програм- ма, пытающаяся читать или писать в заблокиро- ванную бласть, будет пытаться повторить опера- цию 3 раза. Если все три попытки неудачны, то операция заканчивается ошибкой. Возвращаемое lock возвращает 0 при удаче и -1 при ошибке. значение Переносимость Уникальна для MS-DOS 3.х. Более ранние версии MS-DOS не поддерживают этот вызов. Смотри также open, sopen, unlock ----------------------------------------------------------------- log----------------------------------------------------------------- Назначение Логарифмическая функция ln(x). Синтаксис double log(double x); Прототип в math.h Замечания log возвращает ln(x). Если аргумент х, посланный в log, меньше или равен 0, то errno устанавливается в EDOM - ошибка области При возникновении данной ошибки log возвращает отрицательное HUDE_VAL. Обработка ошибок для log может быть модифициро- вана с помощью функции matherr. Переносимость log доступна в системах UNIX и совместима с ANSI Cи. Cмотри также exp, log10, sqrt ----------------------------------------------------------------- log10----------------------------------------------------------------- Назначение Логарифмическая функция lg(x). Синтаксис double log10(double x); Прототип в math.h Замечания log10 возвращает log10(x) (логарифм по основа- нию 10). Если аргумент х, посланный в log10, меньше или равен 0, то errno устанавлиается в EDOM - ошибка области При возникновении данной ошибки log10 возвраща- ет отрицательное HUDE_VAL. Обработка ошибок для log10 может быть модифици- рована с помощью функции matherr. Переносимость log10 доступна в системах UNIX и совместима с ANSI Cи. Cмотри также exp, log ----------------------------------------------------------------- longjmp----------------------------------------------------------------- Назначение Выполняет нелокальный переход. Синтаксис #include void longjmp(jmp_buf env, int val); Прототип в setjmp.h Замечания Вызов longjmp восстанавливает сохраненное (функцией setjmp) состояние задачи и возвраща- ется таким образом,что кажется, что setjmp возвратилось со значением val. Состояние задачи это: * все регистры сегментов(CS,DS,ES,SS) * регистровые переменные(SI,DI) * указатель стека(SP) * указатель ограничения(FP) * флаги Состояние задачи достаточно информативно, чтобы setjmp и longjmp использовать для вызова соп- рограмм. Программа, которая вызывает setjmp и устанавливает env, должна быть активной и не завершаться, пока longjmp не завершится. Если это случится, то результат неопределен. Эти программы полезны для работы с ошибками и исключительными ситуациями, обрабатываемыми подпрограммами низкого уровня. longjmp не может вернуть 0; если передан val=0, longjmp вернет 1. Возвращаемое Нет. значение Переносимость longjmp доступна в системах UNIX и совместима с ANSI Cи. Смотри также setjmp, signal Пример #include #include jmp_buf jumper; main() { int value; value = setjmp(jumper); if (value != 0) { printf("Longjmp со значением %d\n", value); exit(value); } print("Вызов подпрограммы... \n"); subroutine(); } subroutine() { longjmp(jumper,1); } Результат выполнения программы Вызов подпрограммы... Longjmp со значением 1 ----------------------------------------------------------------- |