|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Victor Wagner 2:5020/400 24 Jan 2003 14:27:55 To : "Alexander S. Usov" Subject : Re: научный вопрос -------------------------------------------------------------------------------- Alexander S. Usov <A.S.Usov@kvi.nl> wrote: >> А не попробовать ли ему заменить функцию открытия файла >> в gnuplot на альтернативную ? Тогда при вызове gnuplot'а >> из его программы (при открытии stdio/stdout) буферизацию >> можно выключить. (Что-то типа LD_PRELOAD, только внутри >> его программы -- то есть как бы патч gnuplot'а снаружи). ASU> Ты предлагаеш менять libc? Вообще-то подмена функций из стандартных библиотек через LD_PRELOAD - штатная фича ELF-систем. Подменять надо, естественно, fopen, а не open. fdopen - тоже придется подменить. Поскольку дескрипторы stdout и stdin приходят готовенькими. При этом из подмененной функции ты можешь спокойно вызывать оригинальную открыв dlopen-ом libc.so и вытащив dlsym-ом оттуда указатель на оригинальный fopen. Примеры подобных прибабахов можно найти в исходниках essdsp, artsdsp, audiooss. Более компактные примеры валяются у меня на домашней страничке, там правда работа с libX11, а не libc. ASU> Однако это дико смахивает на вырывание гланд через задницу :) Смахивает. Hо если человека не устраивает лечение таблетками, то есть expect... -- Верблюда спросили "А почему у тебя шея кривая?" "А что у меня прямое?" - ответил он. --- ifmail v.2.15dev5 * Origin: Free Net of Leninsky,45 (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1517836d18401.html, оценка из 5, голосов 10
|