библиотеки ( libraries )

YUSUP
Offline
Зарегистрирован: 10.08.2016

пожалуйста помогите новечку ( чайнику ) разобратся в библиотеках, у меня  несколько вопросов касаемо библиотек

1. если в скетче написано #include <PID_v1.h>  может ли библиотека называтся по другому на пример PID_FrontEnd_v03 или PID_master?

2.  если в libraries имеется одна библиотека скажем SD можно ли добавить похожую например SD_master?

3. какие файлы из библиотеки используются при компиляции все ли эти папки и файлы в библиотеке нужны?

negavoid
Offline
Зарегистрирован: 09.07.2016

1. Да, может. Необходимо лишь, чтобы в двух разных библиотеках не было файла с одинаковым именем PID_v1.h, например:

PID_FrontEnd_v03/PID_v1.h и PID_master/PID_othername.h - правильно;

PID_FrontEnd_v03/PID_v1.h и PID_master/PID_v1.h - неправильно, возникнет конфликт, IDE/компилятор не поймёт, какой PID_v1 из двух выбирать.

2. Да, можно, с учётом п.1. Допустим, есть у нас библиотека в папке SD, её подключаемый заголовочный файл называется SD/SD.h. Мы можем скопировать папку SD в папку SD_master, и внутри новой папки переименовать SD_master/SD.h в SD_master/SD_master.h, ну, либо в SD_master/SD_something_other.h

Теперь #include <SD.h> будет подключать оригинальную библиотеку, а #include <SD_master.h> будет подключать новую библиотеку SD_master.

3. Все, подключённые через директиву #include <главного заголовочного файла библиотеки> (и внутри всех включённых уже в него файлов - обычно это файлы с расширениями .h, .c, .cpp). Ещё в папке библиотеки могут лежать вспомогательные файлы наподобие readme.txt, файл с ключевыми словами для подсветки и автокомплита в IDE, папка с примерами использования этой самой библиотеки, и может ещё что-нибудь, в зависимости от фантазии разработчика.