Поскольку каждый раз, когда мы связываем статическую библиотеку, нам также нужно включать файлы заголовков, мне интересно, можно ли архивировать в статическую библиотеку при ее создании?Включая файлы заголовков в статическую библиотеку
Скажем, у меня есть два объектных файлов foo1.o
и foo2.o
сгенерированные
gcc foo1.c -I foo1.h -c -o foo1.o
gcc foo2.c -I foo2.h -c -o foo2.o
Gcc учебники говорит нам, мы можем генерировать libfoo.a
используя
ar libfoo.a foo1.o foo2.o
Это должно звучать глупо, но можно поставить те файлы заголовков внутри libfoo.a при архивировании? Таким образом, когда , связывающий с libfoo.a
, людям больше не нужно тратить часы, чтобы найти и включаютfoo1.h
и foo2.h
, так что, кажется, есть некоторые преимущества при этом, не так ли?
Спасибо за ваши идеи.
Это * возможно * поставить любой файл в архива, но вручную распаковывая их, включая м, откуда они распаковываются, не кажется лучшим решением. –
@Paul Весь процесс мог быть автоматизирован, Пол, если бы люди gcc имели этот дизайн в умах. Вопрос в том, почему они этого не сделали. Должна быть причина, очень хорошая, что gcc ребята решили не экономить время для поиска заголовков, не так ли? – zell
Вам не нужно искать заголовок, если вы правильно установите библиотеку. Вы просто '# include', и это работает. –