└── lab10
├── Doxyfile
├── Makefile
├── README.md
├── module-library
│ ├── Makefile
│ ├── src
│ │ ├── lib.c
│ │ └── lib.h
│ └── test
│ └── test.c
└── module-main
├── Makefile
└── src
└── main.c
- на базі попередньо розробленого функціоналу, сформувати статичну бібліотеку, яка повинна включати в себе прототип, реалізацію та модульні тести розроблених методів. Таким чином, в проекті повинні бути 2 модуля:
- бібліотека-модуль розробленого функціоналу (module-library)
- основний модуль, що використовує розроблену бібліотеки (module-main)
- тимчасова директорія
lib
, кудуи будуть класться бібліотеки та хедер файли;
- файли бібліотеки мають бути 100 % doxygen документовані;
- за допомогою утиліти
nm
дослідити перелік функцій, що має бібліотека; - вказання шляху хедер файлу для файла
main.c
повинно буди через опцію-I
компілятора - проект бібліотеки повинен мати модульні тести, але вони не мають бути включені до скомпільованої бібліотеки.
- переробити розроблену статичну бібліотеку на динамічну;
- оформлення звіту для цієї роботи не потрібно.
- Що важче створювати: статичну чи динамічну бібліотеку?
- Припустимо, що дві програми використовують бібліотеки: одна з них статичну, друга – динамічну. Яка з двох програм завантажиться швидше? Чому?
- Припустимо, що дві програми використовують бібліотеки: одна з них статичну, друга – динамічну. Яка з двох програм (файлів, що виконуються) буде займати менше місця на диску? Чому?
- Що важче використовувати: статичну чи динамічну бібліотеку?
- Що важче підтримувати (виправляти баги): статичну чи динамічну бібліотеку?
- Опишіть порядок створення статичної бібліотеки.
- Опишіть порядок створення динамічної бібліотеки.