LINUX.ORG.RU

popen++ - пропадает библиотека


0

0

Когда то написал небольшую кросплатформенную библиотеку для C++, которая позволяет создавать дочерние процессы и работать с их потоками (ввода, вывода и ошибок), как со стандартными потоками C++. Однако, с тех пор, фактически совсем перестал писать на С++ и поэтому никакой мотивации для развития данной библиотеки не имею. Жалко, код пропадает :( Поэтому, разыскиваются разработчики, имеющие потребность в подобной библиотеке и желание заниматься её развитием :)

Сайт проетка: http://code.google.com/p/popenplusplus/
Чуть (не намного) больше информации чем в данном посту есть здесь: http://archimag-dev.blogspot.com/2009/01/popen.html

★★★

Ответ на: комментарий от nikolayd

Не, по cl-libxml2 я бы, конечно, тоже от помощи не отказался, но она "не пропадает", я ей занимаюсь, ибо она мне нужна.
Проблема именно с popen++, ибо на C++ не писал уже больше года и она мне не нужна...

А глюк в Opera видел, но особо разбираться не стал, как-то там не очень поддержка XSLT-реализована, может стоит в html выкладывать, но с точки зрения "тематики" библиотеки xml+xsl смотрся более концептуально :)

archimag ★★★
() автор топика
Ответ на: комментарий от archimag

> Не, по cl-libxml2 я бы, конечно, тоже от помощи не отказался, но она "не пропадает", я ей занимаюсь, ибо она мне нужна.

я в том плане, что библиотека интересная. Ты, кстати, с xul много работал? Можно вопросик по производительности(именно firefox+xul)?

nikolayd
()
Ответ на: комментарий от nikolayd

> я в том плане, что библиотека интересная.
> Ты, кстати, с xul много работал? Можно вопросик по

> производительности(именно firefox+xul)?


Чёрт, посторонний человек вряд ли уловит связь между popen++, cl-libxml2 и XUL, да и я, эту связь только с трудом ощущаю :)
А вопросик всегда можно... И да, с "remote XUL" я работал много...

archimag ★★★
() автор топика

Блин, как раз это я и пытаюсь написать последние 2 дня. Но безуспешно. Спасибо, возьму на заметку. Правда придется переписать немного: мне в проекте нельзя использовать boost

Torvus
()
Ответ на: комментарий от Torvus

> Правда придется переписать немного:
> мне в проекте нельзя использовать boost


Тогда придётся переписать много :) boost.iostreams весьма существенно упрощает код. Возможно стоит посмотреть на PStreams (http://pstreams.sourceforge.net/), это правда только для POSIX-систем, но зато без boost.

archimag ★★★
() автор топика
Ответ на: комментарий от Torvus

> Вот только никак не могу понять > что делает file_descriptor_sink::reset()

Я, конечно, уже давно не брал в руки шашек, но, у file_descriptor_sink, насколько я помню, такого метода нет... зато есть у std::auto_ptr :)

archimag ★★★
() автор топика
Ответ на: комментарий от archimag

> Я, конечно, уже давно не брал в руки шашек, но, у file_descriptor_sink, насколько я помню, такого метода нет... зато есть у std::auto_ptr :)

Черт побери, и правда. Теперь волнует один вопрос: как заново открыть stdin после его закрытия?

Torvus
()
Ответ на: комментарий от Torvus

> как заново открыть stdin после его закрытия?

Собственно - никак, а зачем это? Некоторые процессы ждут завершения ввода, прежде чем начнут что-то делать, для этого и предназначен close_stdin. Но смысл "открывать его заново", если дочерний процесс никакого ввода больше не ожидает?

archimag ★★★
() автор топика
Ответ на: комментарий от archimag

А можно ли в поток послать eof не закрывая его?

Torvus
()
Ответ на: комментарий от Torvus

> А если процесс ждет на ввод что-либо, потом выводит на экран,
> а затем опять ждет ввода?


То, скорей всего, ему нужен пробельный символ или символ конца строки. Вызов close_stdin аналогичен нажантию C-D в консоли.

archimag ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.