On Wed, Sep 14, 2005 at 02:22:18PM +0300, Andrei Bulava wrote: > 2) wxGTK2 будет ломаться до тех пор, пока инициатива at@, прочитавшего > people.redhat.com/drepper/dsohowto.pdf, не дойдёт до разработчиков GTK2; Да не дойдёт. Есть две технические проблемы, я о них уже писал. 1) ld/ldlang.c не позволяет одновременно иметь дефолтный интерфейс без названия и версионированные интерфейсы с названием. Это аццки неудобно. И зачем тогда soname нужен? 2) libtool не понимает version scripts. То есть ему можно впарить через -Wl,--version-script=symver.map, но это не портабельно, разработчики GTK2 на такое не пойдут. Самим пока придётся кашу варить. > ответа на вопрос, как сделать диагностику несовместимости API перед > запуском программы, а не в момент вызова функции - зато рассказывали о Несовместимость на уровне семантики никак проверить нельзя. Несовместимость на уровне сигнатуры функции в C++ хорошо проверяется за счёт symbol mangling. В Си такого нет, можно попробовать извлекать прототипы функций из хедеров. perldoc h2xs. > P.S. Ткните, пожалуйста, меня в описание методик отслеживания изменений > API/ABI в языках, отличных от C/C++. Меня интересуют Scheme, Perl, > Python, Ruby. Спасибо. А методика простая. Сначала делается дамп API/ABI для версии 1.0. Потом делается дамп API/ABI для версии 2.0. Потом запускается чудная команда diff.