Си: Обработка строк типа «name=value»
Я где-то видел упоминание, что на Си есть встроенная функция для обработки таких строк. Но что-то я не могу его найти. Может быть что-то помнит как эта функция зовется?
Я где-то видел упоминание, что на Си есть встроенная функция для обработки таких строк. Но что-то я не могу его найти. Может быть что-то помнит как эта функция зовется?
Как под линухом с помощью gcc скомпилить виндовую прогу? Сильно не хочеться мне только для этого вмварь пускать.
Кто вплотную использует Free Pascal - выскажети свое мнение - он готов для того, что-бы писать на нем кроссплатформенные приложения (Linux-Windows)? Или м.б. кто-то знает другое хорошее средство разработки таких приложений (open source)?
Сделал простую программу (pthread-test1) с использованием pthread на RedHat 8.
В результате ее запуска по 'ps -AH' видно только один процесс pthread-test1 вообще без дочерних. Что за ерунда? Или это может особенность RH8?
====================================================================
#include <pthread.h>
#include <stdio.h>
#include <time.h>
int glob = 0;
void *thread_proc(void *val)
{
int i = 0;
// nice(10);
while (1)
{
printf((char *) val);
printf("[%d] %d clocks %d %d %d\n", pthread_self(), clock(), i++, glob++, getpriority());
};
return NULL;
};
int main()
{
pthread_t tid1, tid2, tid3, tid4;
pthread_create (&tid1, NULL, &thread_proc, (void *) "String 1 ");
pthread_create (&tid2, NULL, &thread_proc, (void *) "String 2 ");
pthread_create (&tid3, NULL, &thread_proc, (void *) "String 3 ");
pthread_create (&tid4, NULL, &thread_proc, (void *) "String 4 ");
int i = 0;
while (1)
{
printf("Main thread ");
printf("%d clocks %d %d\n", clock(), i++, glob++);
};
return 0;
};
====================================================================
Постепенно устанавливаю себе RH8. С руссификацией консоли разобрался - отлично работает с koi8-r. В иксах IceWM тоже показывает все русские, т.е. и с ним все нормально.
Сейчас начал ставить gnome. Поставил gnome-desktop, gnome-panel и gnome-session. При запуске выдаются какие-то сообщения об ошибках, но все символы показываются как код символа в квадрате. Сообщения я конечно могу посмотрет через LANG=C, но мне надо побороть шрифты.
Что еще нужно поставить из пакетов или какие настройки поменять для нормальной работы?
Я использую для программирования сети библиотеку gnet. Но проблема, думаю, общая. Как можно для команд send/recv установить тайомут по окончанию которого она-бы выходила с ошибкой?
Имеется установленное соединение с сервером через сокет. Хотелось-бы как-то периодически проверять состояние этого соединения, но как это сделать я что-то не пойму, может кто знает? Переменная с сокетом доступна.
Ситуация следующая:
Есть у меня Cool Linux CD - загрузочный сидюк с живым линухом. Когда запускаюсь с него у меня xine отлично показывает DVD. Есть очень слабозаметные тормоза, но это скорее из-за того, что ядро с него не включает UDMA режим на моем железе (не суть проблемы не в отом).
Есть установленный на винт RedHat 8.0. Скомпилил под него xine, поставив перед этим libdvdread и аудио кодек (a52). При проигрывании тормоза конкретные. Причем рывками. Т.е. секунду идет нормально, замирает на долю секунды и следующую секунду нормально. И т.д.
По сообщениям в консоли видно, что в моменты замирания происходит какая-то возня со звуком. То-ли синхронизация, то-ли обработка ошибок, то-ли resampling.
Кто нибудь знает - в чем может быть проблема? Она явно не в железе, т.к. с сидюка с выключенным UDMA (явный аргумент в сторону понижения скорости) DVD играется намного лучше, чем на системе с нормальным UDMA.
Запускаю параллельную нитку через форк типа: $pid = fork(); if ($pid eq '0') { ... exit; } else { ... }; Далее пытаюсь отследить завершение дочернего задания по ps -A. Все время получается так, что дочернее задание не завершается, а висит с пометкой <defunct>. Как сделать нормальное завершение такой нитки?
Есть какие-либо модули для Perl, облегчающие создание email-сообщений без их отсылки? Т.е. мне надо что-бы я задал модулю на входе адрес, тему, текст, вложения, а на выходе получил исходник письма. Это возможно?
При запуске MC под рутом по Ctrl-O выдается командная консоль как и должно быть. Если я захожу под обычным юзером - по Ctrl-O выдается просто то, что было на консоли без командной строки, в которую я могу ввести команды. Кроме того - при запуске MC выдается такое сообщение: "subshell.c: couldn't open master side of pty. pty_open_master: Exec format error"
Что означает это сообщение и как его исправить?
Ситуация следующая. Есть выделенка в виде двужильного телефонного кабеля с подведенным к нему питанием (обычный телефонный канал в режиме соединения двух точек). Есть 2 машины - одна под RedHat 7.2, другая - под Win2000. Модемы обычные для коммутируемых линий - на linux:
Product type International External Product ID: 99563000 Options V32bis,V.80,V.34+,x2, V.90 Fax Options Class 1/Class 2.0 Clock Freq 92.0Mhz EPROM 256k RAM 32k FLASH date 10/2/98 FLASH rev 11.1.11 DSP date 10/2/98 DSP rev 11.1.11
На Win2000 - встроенный USR. Нужно организовать постоянную связь между двумя этими машинами по IP. Что-то меня заклинило на предмет того, как настроить линух на использование такого соединения. Предполагается, что винда будет делать обычный вызов с пустым полем телефона (atd).
Из описания: ================ COOL LINUX CD ================== v1.00
Данный диск представляет из себя загрузочный диск linux с ядром 2.4.18-3-xfs. Это ядро дистрибутива RedHat 7.3 2.4.18-3 с поддержкой файловой системы XFS фирмы Selicon Grafics Inc. версии 1.1.
ОСОБЕННОСТИ:
Входить необходимо под пользователем root без ввода пароля (строка ввода пароля не выдается).
Переключение Рус/Лат в консоли - RightCtrl-Shift, в иксах - любой Ctrl-Shift.
При необходимости сохранения конфигурации на дискету можно набрать команду savecfs. При этом на дискету сохраняются каталоги /etc, /root, /drweb.base. При загрузке, если ответить "y" на запрос о необходимости восстановить конфигурацию и если на дискете есть архив конфигураций, то выполняется считывание с дискеты и перезапись конфигурации на hdd.
После определения конфигурации оборудования предоставляется выбор варианта загрузки: либо с использованием только ram-дисков (2 по 8 Мб), либо с использованием небольшого файла на первом обнаруженном жестком диске (64 Мб в отдельном файле). Файловая система жесткого диска может быть ext2 или vfat (Fat16 либо Fat32).
При использовании жесткого диска и записи конфигурации на дискету при загрузке с ее использованием жесткий диск будет подключен автоматически.
Если вы хотите установить данную версию системы на жесткий диск с загрузкой с жесткого диска, запустите команду install-hdd. Учтите, что системы уже установленные на машине автоматически не определяются. Их нужно добавить в меню lilo вручную после загрузки с жесткого диска.
Если вы хотите установить систему в отдельный файл на уже существующую файловую систему с загрузкой с дискеты, вставьте дискету в дисковод и запустите команду install-loop. Поддерживаются разделы с файловыми системами ext2, ext3, xfs или vfat.
Если вы запускаете X-server из под VMWare, то на вопрос о необходимости настройки отвечайте отменой, т.к. по умолчанию X-server настроен на использование под VMWare.
================================================= Набор софта:
В данном документе перечислено основное ПО. Кроме него в системе присутствуют различные дополнительные утилиты, которые не указаны в данном списке.
Текстовые редакторы и просмотрщики документов: * OpenOffice.org 1.0 free Полноценный офисный пакет для работы с текстовыми, табличными документами и документами в формате html. Отличная поддержка документов Word и Excel (97, 2000). - AbiWord Простой WYSIWYG текстовый редактор. Был-бы очень неплох, если-бы имел поддержку таблиц. Соответственно применим для составления документов в которых не используются таблицы. - gvim - AcrobatReader - catdoc - wordview - Русские ttf шрифты для X11 и AbiWord
Просмотрщики и редакторы графики: - ImageMagic * gqview - xnview
Просмотрщики видео: * xine - mplayer
Аудиопроигрыватели: * xmms - aumix-X11
Антивирус: * DrWeb 4.28
Архиваторы: - rar - unrar - zip
ICQ и IRC клиенты: * licq Популярный клиент ICQ. Сейчас на диске находиться стабильный релиз 1.2.0 от 28/07/2002 - centericq Консольный ICQ клиент. Мне он понравился больше, т.к. глючит поменьше чем licq. - gaim * xchat Отличный IRC клиент. Уже настроен на перекодирование KOI8-WIN1251. - lostirc
Клиенты почты и новостей: * sylpheed Очень неплохой клиент электронной почты. Похож на kmail. Из мелких недостатков - невозможность смотреть html письма в живом виде (показываются в виде текста). * pan Хороший клиент чтения новостей. - pine - pahogany - spruce
Клиенты ftp: - gftp
Броузеры: * opera Оптимальный вариант для лазания по internet. :) Установлен плагин для flash. Проверен на www.mult.ru - работает прекрасно. :) - mozilla - lynx
Оконные менеджеры: * icewm Довольно шустрый симпатичный оконный менеджер. На этом диске он работает совместно с ROX-Filer, который занимается обслуживанием десктопа. - qvwm Если кто-то слишком привык к Windows, то можно переключиться в этот оконный менеджер. :)
Утилиты сети Microsoft: * LinNeighborHood Отличная утилита, которая прекрасно лазает по локальной сети ("Сетевое окружение"). Уже настроена на корректную работу с русскими ресурсами в сети. - xsmbrouser - smbclient
Сетевые утилиты: - ngrep - nmap - nmapfe - nicedump
Утилиты интернет: * ppp-redialer (PPP dial) Довольно симпатичный скрипт для дозвонки к провайдеру. Конфиги в /etc/ppp/conf/ (из меню используется конфиг /etc/ppp/conf/default). - fetchmail - pppd
Дисковые утилиты: - lde - recover - e2undel - gpart - xfs utils
Вспомогательные утилиты: - gproc - dfm - DivX codec
Шифрование: - pgp
Эмуляция виртуальных машин: - vmware 3.1 Отличнейшая система для создания виртуальных компьютеров на одной машине. Лично я ее считаю лучшим программным продуктом прошлого века для админов. :) Т.к. я очень уважаю разработчиков, в составе диска нет кряка для нее, но в Opera есть закладка для выхода на сайт разработчика и получания триального 30-дневного ключа. В дальнейшем этот ключь можно получить сколько угодно раз. Или купить сам продукт. :) - vmtools Этот комплект нужен просто для запуска этого диска из-под VMWare. Ускоряет работу графики в X-сервере и работу с жестким диском.
Знаком "*" (звездочка) помечены программы, которые я рекомендую для использования с данного диска. В своем большинстве они уже настроены на комфортную работу русскоязычного пользователя. ==========================================
С руссификацией вроде-бы все нормально. Скачать можно с ftp://213.24.195.17/pub/LinuxSoft/CoolLinuxCD/v1.00/cool-linux-cd.1.00.iso.gz Размер - 250 Мег.
Мне в скрипте bash нужно обнаружить наличие дискеты в дисководе. Я пробовал использовать rawfdcmd sense, но такой метод работает не на всех контроллерах. :( Может быть есть какой-то стандартный способ?
Значит никто не знает как устранить ^M вместо ввода при использовании команды read в скрипте завершения работы? Очень надо! Закончил загрузочный сидюк, а вот этот небольшой, но очень неприятный глюк все портит. :(
В скрипте при shutdown-е у меня стоит запрос на сохранение конфигов на дискету. Иногда при вводе на вопрос "y" или "n" и нажатии на Enter ввода информации не происходит, просто дальше добавляется строка "^M". Это можно как-то пофиксить?
При загрузке у меня выдаются всякие сообщения о загружаемых модулях - типа по scsi, по ide и т.д. Можно-ли сделать так, что-бы они не выдавались? Ядро перекомпилировать (только с какой опцией) или параметры какие-то надо сменить?
Что-то он у меня не хочет подключаться как scsi (что должно быть по документации). После "modprobe usb-storage" и "modprobe scsi_mod" каталог /proc/scsi/usb-storage-0 присутствует, но в /proc/scsi/scsi только одна строка, что нет подключенных устройств ("Attched devices: none"). В лог выдается только одна подозрительная строка: usb.c: Ignore set_interface for dev 0 .... Можно все-таки как-то его подключить?
Есть у меня загрузочный CD с живым Linux. В нем есть возможность перенести файлы на жесткий диск и размонтировать этот CD. Но полное размонтирование почему-то все-равно не позволает вытащить CD из привода. На "eject -r /dev/hdc" выдается сообщение типа "resource busy". Можно-ли в данной ситуации вытащить этот сидюк, что-бы поработать с другим CD или в морг?
Поставил AbiWord 1.0.2, добавил koi8-r шрифты. Все нормально, кроме одного - в строке статуса краказямбы. Как это побороть?
| ← назад | следующие → |