Майкл Джонсон - Разработка приложений в среде Linux. Второе издание

Здесь есть возможность читать онлайн «Майкл Джонсон - Разработка приложений в среде Linux. Второе издание» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Вильямс, Жанр: ОС и Сети, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Разработка приложений в среде Linux. Второе издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Разработка приложений в среде Linux. Второе издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из других операционных систем. Подробно рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование свободно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Изобилие хорошо документированных примеров кода помогает лучше усвоить особенности программирования в Linux.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Разработка приложений в среде Linux. Второе издание — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Разработка приложений в среде Linux. Второе издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Как и scanf(), функция strptime()преобразует строку в разобранный формат. Она пытается быть либеральной при интерпретации введенной строки sв соответствии с форматирующей строкой fmt. Она принимает те же самые управляющие последовательности, что и strftime(), при этом для каждого типа ввода она допускает как аббревиатуры, так и полные имена. Она не различает символы верхнего и нижнего и регистра, а также не распознает %Uи %W.

Функция strptime()предусматривает несколько дополнительных управляющих последовательностей; также она интерпретирует несколько последовательностей иначе (не так, как strftime()). В последующем списке перечислены только те управляющие последовательности, которые отличаются значительно (другими словами, выходят за рамки тех изменений, на которые мы уже указывали). Числа могут предваряться нулями, но это не обязательно.

%h Эквивалент %bи %B.
Считывает дату и время так, как печатает функция strftime()с форматирующей строкой %x %X.
Считывает дату и время так, как печатает функция strftime()с форматирующей строкой .
%e Эквивалент %d.
%D Считывает дату так, как печатает функция strftime()с форматирующей строкой %m/%d/%y.
%k Эквивалент .
%l Эквивалент %I.
%r Считывает время так, как печатает функция strftime() с форматирующей строкой %I:%М:%S %p.
%R Считывает время так, как печатает функция strftime()с форматирующей строкой %Н:%М.
%T Считывает время так, как печатает функция strftime()с форматирующей строкой %Н:%М:%S.
%y Считывает год в пределах двадцатого столетия. Допустимы значения только от 0 до 99, поскольку к ним добавляется число 1900.
%Y Считывает полный год. Применяйте, по возможности, этот формат вместо для того, чтобы избежать "проблемы 2000-го года".

Функция strptime()возвращает указатель на символ в s— символ, находящийся за последним прочитанным во время разбора.

Функция strptime(), к сожалению, не определена ни в ANSI/ISO, ни в POSIX, что ограничивает ее переносимость.

18.1.3. Ограничения, связанные со временем

В 32-разрядных системах Linux, как и в большинстве систем Unix, переменная time_tявляется целым числом со знаком длиной 32 бита. Это означает, что в 10:14:07 вечера 18 января (четверг) 2038 года она переполнится. Поэтому время 10:14:08 вечера 18 января (четверг) 2038 года будет представлено как 3:45:52 вечера 13 декабря (пятница) 1901 года. Как видите, система Linux не проявляет "проблему 2000-го года" (поскольку используются собственные библиотеки времени), однако с ней связана "проблема 2038-го года".

На 64-разрядных платформах переменная time_tявляется соответственно 64-битовым числом со знаком. Это действительно эффективное решение, поскольку 64-битовое время со знаком можно назвать астрономическим.

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

1: /* daytime.с */

2:

3: #include

4: #include

5: #include

6:

7: int main () {

8: struct timeval tv;

9: struct timezone tz;

10: time_t now;

11: /* beginning_of_time — это наименьшее значении, измеряемое time_t*/

12: time_t beginning_of_time = 1L<<(sizeof(time_t)*8 - 1);

13: /* end_of_time - это наибольшее значение, измеряемое time_t */

14: time_t end_of_time = ~beginning_of_time;

15:

16: printf("time_t имеет %d бит в длину\n\n", sizeof(time_t) *8);

17:

18: gettimeofday(&tv, &tz);

19: now = tv.tv_sec;

20: printf("Текущее время дня, представленное в виде структуры timeval:\n"

21: "tv.tv_sec = 0x%08x, tv.tv_usec = 0x%08х\n"

22: "tz.tz_minuteswest = 0x%08х, tz.tz_dsttime = 0x%08x\n\n",

23: tv.tv_sec, tv.tv_usec, tz.tz_minuteswest, tz.tz_dsttime);

24:

25: printf("Демонстрация ctime()%s:\n",

26: sizeof(time_t)*8 <= 32 ? "" :

27: " (может зависнуть после печати первой строки; нажмите "

28: "Control-C)") ;

29: printf("текущее время: %s", ctime(&now));

30: printf("начало времени: %s", ctime(&beginning_of_time));

31: printf("конец времени: %s", ctime(&end_of_time));

32:

33: exit(0);

34: }

К сожалению, функция ctime()является итеративной по своей природе. Это означает, что она (при любых практических целях) никогда не прерывает свою работу в 64-разрядных системах даже для астрономических дат (вроде 64-битового времени начала и завершения). Если вы устали ждать, когда же программа завершит свою работу, нажмите Control-C для ее завершения.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Разработка приложений в среде Linux. Второе издание»

Представляем Вашему вниманию похожие книги на «Разработка приложений в среде Linux. Второе издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Геше Джампа Тинлей - Лоджонг (второе издание)
Геше Джампа Тинлей
Алексей Филатов - Люди «А». Второе издание
Алексей Филатов
Отзывы о книге «Разработка приложений в среде Linux. Второе издание»

Обсуждение, отзывы о книге «Разработка приложений в среде Linux. Второе издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x