воскресенье, 3 июня 2012 г.

Автоматический поиск необходимых библиотек

У меня большое количество разных мелких программок. Я их часто редактирую, обычно меняя какие-нибудь параметры. В такой мелочи бывает быстрее поменять код, чем возиться с передачей параметров через командную строку или конфигурационный файл. Понятно, что их часто приходится перекомпилировать. Для этого написан простенький скрипт, который вызывается полуночным командиром при нажатии ввода на соответствующем файле. И тут возникает проблема. Некоторые программы использует внешние библиотеки, причём каждая свои. Указывать каждый раз с какими библиотеками линковать программу, естественно, неудобно. Линковать со всеми сразу тоже, как-то, не хочется. Неплохо было бы определять требуемые библиотеки по исходному коду. Можно пройтись по файлу grep'ом в поисках характерных для каждой библиотеки функций, но они могут быть запрятаны где-нибудь в инклюдах. Или вообще, использование библиотечных функций зависит от какого-нибудь макроса. После некоторых раздумий я решил использовать следующий подход.