В моем стремлении изучить С++ я столкнулся с динамическими и статическими библиотеками.
Я обычно получаю их суть: скомпилированный код для включения в другие программы.
Однако я хотел бы узнать несколько вещей о них:
- Записывает ли они какую-либо отличную от обычной программу на С++, минус функцию
main()
? - Как скомпилированная программа становится библиотекой? Это, очевидно, не исполняемый файл, поэтому как мне повернуть, скажем 'test.cpp' в 'test.dll'?
- Как только я получаю его в своем формате, как включить его в другую программу?
- Есть ли стандартное место для их размещения, чтобы любые компиляторы/линкеры не нуждались в них, они могут легко найти их?
- В чем разница (технически и практически) между динамической и статической библиотекой?
- Как использовать сторонние библиотеки в моем коде (я смотрю на
.dylib
и.a
файлы для MySql С++ Connector)
Все, что я нашел в отношении библиотек, похоже, предназначено для тех, кто уже знает, как их использовать. Я, однако, не знаю. (Но хотелось бы!)
Спасибо!
(Я также должен отметить, что я использую Mac OS X, и хотя предпочел бы оставаться нейтральным или ориентированным на IDE, я использую QtCreator/Netbeans)