Intereting Posts
Как я могу избежать специальных символов в команде sed? Как печатать 2 текста в двух столбцах Ошибка интерпретатора ELF. Не удается установить на моем CentOS Попытка локальных ключей SSH перед агентом В bash, каковы потенциальные негативные последствия приостановки процесса с контролем-z? Есть ли более эффективный способ дефрагментации Linux-памяти, кроме перезагрузки? Что делает <(левая шеврон / треугольник)? Почему Apple защищает авторские права на страницах lpadmin, lpq и lpstat? NetworkManager пытается подключиться к предыдущей сети после приостановки, даже если сети нет Удалите строки на основе шаблона, но сохраняя первые n строк, которые соответствуют Некоторые ошибки не регистрируются, после перенаправления как stderr, так и stdout в файл opengl / glx core dumps – общие драйверы intel linux, RHEL6 Трубчатые фрагменты документа с помощью различных команд Инструменты для вывода записей из произвольных наборов файлов журналов между двумя датами awk Command Loop

Как создавать и использовать динамические и статические библиотеки в 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 

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