Курсовая работа: Разработка статических и динамических библиотек на языке программирования С/C++ в операционных системах UNIX
Содержание
Введение
1 Компиляция программ на языке C/C++
2 Компиляция нескольких файлов
3 Создание библиотек объектных файлов
3.1 Библиотеки объектных файлов
3.2 Создание статической библиотеки
3.3 Создание динамической библиотеки
3.4 Использование динамических библиотек
4 Создание динамических библиотек
4.1 Функции работы с динамическими библиотеками
4.2 Создание динамической библиотеки для решения системы линейных уравнений
Выводы
Список использованной литературы
Введение
Простые программы обычно состоят из одного исходного файла. Но если программы становится большой, ее рекомендуется их разбивать на куски, которые функционально ограничены и закончены. Так как процесс правки при большом исходном тексте становится сложным и поиск небольшой ошибки может повлечь за собой вынужденное "изучение" кода заново. Также большой файл программы увеличивает время компиляции.
Но если каждая функция будет содержаться в отдельном файле, то таких файлов может оказаться десятки или даже сотни. Управлять таким количеством файлов очень сложно. Для этого был придуман механизм создания библиотек объектных файлов.
Библиотека объектных файлов - это файл содержащий несколько объектных файлов, которые будут использоваться вместе в стадии линковки программы. Библиотека содержит символьный индекс, который состоит из названий функций и переменных и т.д., которые содержатся в библиотеке. Это позволяет ускорить процесс линковки программы, так как поиск функций и переменных в объектных файлах библиотеки происходит намного быстрее, чем поиск в наборе указанных объектных файлов.
Поэтому использование библиотеки позволяет компактно хранить все требуемые объектные файлы в одном месте, и при этом значительно повысить скорость компиляции.
В курсовой работе приведены примеры создания и использования статических и динамических библиотек. Д разработано несколько простых динамических библиотек (возведение числа в степень и решение системы линейных уравнений)
1 Компиляция программ на языке C/C++
Компилятор превращает код программы на "человеческом" языке в объектный код понятный компьютеру. Компиляторов под Linux существует много, практически для каждого распространенного языка. Большинство самых востребованных компиляторов входит в набор GNU Compiler Collection , известных под названием GCC (http://gcc.gnu.org/).
Изначально аббревиатура GCC имела смысл GNU C Compiler , но в апреле 1999 года сообщество GNU решило взять на себя более сложную миссию и начать создание компиляторов для новых языков с новыми методами оптимизации, поддержкой новых платформ, улучшенных runtime -библиотек и других изменений (http://gcc.gnu.org/gccmission.html). Поэтому сегодня коллекция содержит в себе компиляторы для языков C, C++, Objective C, Chill, Fortran, Ada и Java , как библиотеки для этих языков (libstdc++, libgcj , ...).
Компиляция программ производится командой:
gcc <имя_файла>
После этого, если процесс компиляции пройдет успешно, то вы получите загружаемый файл a.out, запустить который можно командой:
--> ЧИТАТЬ ПОЛНОСТЬЮ <--