Шрифт:
3. (Средней трудности) Рассмотрите функции
4. (Трудное) Найдите исходный код GLIBC версии
5. Проверьте свою память. Как
6. Используя
7. Опишите преимущества и недостатки использования
8. Напишите свою версию
9. Программы, использующие
10. (Трудное) Даже с урезанной очисткой при обработке сигнала все еще имеется состояние гонки. Есть небольшое окно между созданием временного файла функцией
11. Попробуйте откомпилировать и запустить
12. Посмотрите файл
13. Посмотрите справочную страницу lrand48(3) на системе GNU/Linux или System V. Выглядит ли этот интерфейс более простым или трудным для использования, чем
14. Возьмите
15. (Трудное) Почему GLIBC нужны указатели на альтернативные версии функций стандартных каталогов и
16. Измените
17. Стандартная
18. Посмотрите справочную страницу grep(1). Добавьте к
19. Напишите простую замещающую программу:
Она должна читать текстовые строки из указанных файлов или из стандартного ввода, если они не указаны. Каждая строка должна сравниваться на соответствие шаблону. Если обнаружено соответствие, оно должно замещаться подстановкой.
Если указана опция
Глава 13
Интернационализация и локализация
Ранние вычислительные системы обычно для своего вывода (приглашений, сообщений об ошибках) и ввода (ответы на запросы, такие, как «да» и «нет») использовали английский язык. Это было верно для систем Unix вплоть до середины 1980-х. В конце 80-х, начиная с первого стандарта ISO для С и продолжая стандартами POSIX 1990-х и современным стандартом POSIX, были разработаны возможности для работы программ на нескольких языках без необходимости поддержки нескольких версий одной и той же программы. Данная глава описывает, как современные программы должны справляться с многоязычными проблемами.