|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexander S. Usov 2:5020/400 24 Jan 2003 15:01:05 To : Victor Wagner Subject : Re: научный вопрос -------------------------------------------------------------------------------- Victor Wagner wrote: >>> А не попробовать ли ему заменить функцию открытия файла >>> в gnuplot на альтернативную ? Тогда при вызове gnuplot'а >>> из его программы (при открытии stdio/stdout) буферизацию >>> можно выключить. (Что-то типа LD_PRELOAD, только внутри >>> его программы -- то есть как бы патч gnuplot'а снаружи). > > ASU> Ты предлагаеш менять libc? > > Вообще-то подмена функций из стандартных библиотек через LD_PRELOAD - > штатная фича ELF-систем. Подменять надо, естественно, fopen, а не > open. > fdopen - тоже придется подменить. Поскольку дескрипторы stdout и > stdin приходят готовенькими. Та не, я знаю что это популярная фишечка, но я не знаю можно ли таким боком перехватить инициализацию stdout. > При этом из подмененной функции ты можешь спокойно вызывать > оригинальную открыв dlopen-ом libc.so и вытащив dlsym-ом оттуда > указатель на оригинальный fopen. > > Примеры подобных прибабахов можно найти в исходниках > essdsp, artsdsp, audiooss. > > Более компактные примеры валяются у меня на домашней страничке, там > правда работа с libX11, а не libc. Это которая http://www.ice.ru/~vitus ? > ASU> Однако это дико смахивает на вырывание гланд через задницу :) > > Смахивает. Hо если человека не устраивает лечение таблетками, то есть > expect... :):):):) Мож ему привести пример сколько expect может перекидывать цифирок из одной проги в другую за секунду? Hу шоб человек хернёй не маялся :) -- Best regards, Alexander. --- ifmail v.2.15dev5 * Origin: KVI (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6577842f0909.html, оценка из 5, голосов 10
|