Intereting Posts
Linux: как проверить, замедляется ли процесс другими запущенными процессами Отключить команду «shutdown» и «poweroff» в Ubuntu Как исправить неизвестную ошибку внутреннего сервера (500) Nginx дает мне? debootstrap не работает в кали и мяте Принуждение emacs для запуска с помощью `-nw` при вызове из терминала Рекурсивно перечислять файлы, содержащие символ подчеркивания в имени файла Какое влияние имеет rc_sys = "docker"? Как я могу создать подвыборку BTRFS с именем, содержащим «@»? SSH-инг с закрытым ключом спрашивает у меня пароль Как я могу навсегда изменить тип шрифта консоли TTY, чтобы он сохранялся после перезагрузки? Как `apt` отличается от` apt-get`? Есть ли способ начать всегда как корень? конвертировать комментарии стиля C в стиль C ++ с помощью sed Как обойти локальный кеш youtube? Мышь и клавиатура не работают (экстремальное отставание) после новой установки Linux Mint 17.1

Как создавать и использовать динамические и статические библиотеки в Linux (c программирование)?

Я новичок, и я настолько смущен тем, как я могу создавать и использовать динамические и статические библиотеки? Я изучал разные сайты и искал в Google, но я не могу понять.

Может ли кто-нибудь объяснить здесь простой способ создания и использования динамических и статических библиотек в c и static или динамических библиотеках? А также, пожалуйста, скажите мне, зачем использовать gcc -c и gcc -o . Я знаю, что gcc – это компилятор, но -c и -o . Что это за цель?

Поскольку вы не знаете, что -c (компилировать объектный файл) и -o (указать выходной файл), я бы предложил начать с простой исполняемой компиляции. Поймите, что такое объектные файлы и как они объединены.

Продолжайте работу со статическими библиотеками. Поймите, что статические библиотеки – это всего лишь несколько объектных файлов, архивированных вместе. Как они указываются компилятору и как их находит компилятор.

Затем, наконец, попробуйте динамические. Поймите, что они связаны во время выполнения. Вам нужно указать, где они находятся. Что они скомпилированы и связаны другим способом (вы уже видели -fPIC ?). То, что они могут зависеть друг от друга. Это мощные звери, которые могут вас легко укусить 🙂

И простой способ создания статических и динамических библиотек? Забудьте о написании их вручную и используйте cmake. Если вы хотите углубиться, запустите make с VERBOSE=1 , см. Аргументы компилятора и узнайте.

не знаю, где начать отвечать на ваш вопрос здесь.

если вы просто обратитесь к странице man для gcc

  man gcc 

Он отлично рассмотрит ваш вопрос об опциях и использовании gcc.

Для части динамических и статических библиотек существует очень длинный путь для прохождения, и в Интернете есть много понятной документации, например:

  http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html 

это хорошее место для начала