Читайте также
Пример: перенос программы sortMM (программа 5.5)
В программе sortMM (программа 5.5) интенсивно используются указатели, и в частности, арифметика указателей. Подготовка этой программы к переносу, в результате чего ее можно будет компоновать и выполнять под управлением как Win32, так и
Пример: программа mqunlink
В листинге 5.2 приведена программа mqunlink, удаляющая из системы очередь сообщений.Листинг 5.2. Удаление очереди из системы: mqunlink//pxmsg/mqunlink.c1 #include "unpipc.h"2 int3 main(int argc, char **argv)4 {5 if (argc != 2)6 err_quit("usage: mqunlink <name>");7 Mq_unlink(argv[1]);8 exit(0);9 }С помощью этой программы
Пример: программа mqgetattr
Программа из листинга 5.3 открывает указанную очередь сообщений и выводит значения ее атрибутов.Листинг 5.3. Получение и вывод значений атрибутов очереди сообщений//pxmsg/mqgetattr.c1 #include "unpipc.h"2 int3 main(int argc, char **argv)4 {5 mqd_t mqd;6 struct mq_attr attr;7 if (argc !=
Пример: программа mqsend
В листинге 5.5 приведен текст программы, помещающей сообщение в очередь.Листинг 5.5. Программа mqsend//pxmsg/mqsend.c1 #include "unpipc.h"2 int3 main(int argc, char **argv)4 {5 mqd_t mqd;6 void *ptr;7 size_t len;8 uint_t prio;9 if (argc != 4)10 err_quit("usage: mqsend <name> <#bytes> <priority>");11 len =
Пример: простая программа с уведомлением
Прежде чем углубляться в тонкости сигналов реального времени и потоков Posix, мы напишем простейшую программу, включающую отправку сигнала SI6USR1 при помещении сообщения в пустую очередь. Эта программа приведена в листинге 5.8, и мы
Пример: программа semsysconf
Программа в листинге 10.20 вызывает sysconf и выводит два ограничения на семафоры, зависящие от конкретной реализации. Листинг 10.20. Вызов sysconf для получения ограничений на семафоры//pxsem/semsysconf.с1 #include "unpipc.h"2 int3 main(int argc, char **argv)4 {5 printf("SEM_NSEMS_MAX = %ld, SEM_VALUE_MAX =
Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя
#!/bin/bash# timeout.sh# Автор: Stephane Chazelas,# дополнен автором документа.INTERVAL=5 # предел времени ожиданияtimedout_read() { timeout=$1 varname=$2 old_tty_settings=`stty -g` stty -icanon min 0 time ${timeout}0 eval read $varname # или просто read $varname
Пример 10-27. Простой пример сравнения строк
#!/bin/bash# match-string.sh: простое сравнение строкmatch_string (){ MATCH=0 NOMATCH=90 PARAMS=2 # Функция требует два входных аргумента. BAD_PARAMS=91 [ $# -eq $PARAMS ] || return $BAD_PARAMS case "$1" in "$2") return $MATCH;; * ) return $NOMATCH;; esac}a=oneb=twoc=threed=twomatch_string $a # неверное число
Пример 12-20. Пример форматирования списка файлов в каталоге
#!/bin/bash# За основу сценария взят пример "man column".(printf "PERMISSIONS LINKS OWNER GROUP SIZE DATE TIME PROG-NAME
" ; ls -l | sed 1d) | column -t# Команда "sed 1d" удаляет первую строку, выводимую командой ls,#+ (для локали "С" это строка: "total N",#+ где "N" -- общее
Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"
#!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если
Пример 25-8. Пример реализации алгоритма Решето Эратосфена
#!/bin/bash# sieve.sh# Решето Эратосфена# Очень старый алгоритм поиска простых чисел.# Этот сценарий выполняется во много раз медленнее# чем аналогичная программа на C.LOWER_LIMIT=1 # Начиная с 1.UPPER_LIMIT=1000 # До 1000.# (Вы можете
Программа Nero Express
Лучшая программа для записи дисков
Записывать диски средствами Windows неинтересно. Во-первых, скучно, а во-вторых, вам недоступны какие-либо настройки записи, вы даже не можете указать скорость, не говоря уже о выборе формата диска, методе записи. Вот