Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

Разработка статических и динамических библиотек на языке программирования С/C++ в операционных системах UNIX

Браслет светоотражающий, самофиксирующийся, желтый.
Изготовлены из влагостойкого и грязестойкого материала, сохраняющего свои свойства в любых погодных условиях. Легкость крепления позволяет
66 руб
Раздел: Прочее
Совок большой.
Длина 21,5 см. Расцветка в ассортименте, без возможности выбора.
21 руб
Раздел: Совки
Гуашь "Классика", 12 цветов.
Гуашевые краски изготавливаются на основе натуральных компонентов и высококачестсвенных пигментов с добавлением консервантов, не
170 руб
Раздел: 7 и более цветов

Содержание Введение 1 Компиляция программ на языке C/C 2 Компиляция нескольких файлов 3 Создание библиотек объектных файлов 3.1 Библиотеки объектных файлов 3.2 Создание статической библиотеки 3.3 Создание динамической библиотеки 3.4 Использование динамических библиотек 4 Создание динамических библиотек 4.1 Функции работы с динамическими библиотеками 4.2 Создание динамической библиотеки для решения системы линейных уравнений Выводы Список использованной литературы Введение Простые программы обычно состоят из одного исходного файла. Но если программы становится большой, ее рекомендуется их разбивать на куски, которые функционально ограничены и закончены. Так как процесс правки при большом исходном тексте становится сложным и поиск небольшой ошибки может повлечь за собой вынужденное &quo ;изучение&quo ; кода заново. Также большой файл программы увеличивает время компиляции. Но если каждая функция будет содержаться в отдельном файле, то таких файлов может оказаться десятки или даже сотни. Управлять таким количеством файлов очень сложно. Для этого был придуман механизм создания библиотек объектных файлов. Библиотека объектных файлов - это файл содержащий несколько объектных файлов, которые будут использоваться вместе в стадии линковки программы. Библиотека содержит символьный индекс, который состоит из названий функций и переменных и т.д., которые содержатся в библиотеке. Это позволяет ускорить процесс линковки программы, так как поиск функций и переменных в объектных файлах библиотеки происходит намного быстрее, чем поиск в наборе указанных объектных файлов. Поэтому использование библиотеки позволяет компактно хранить все требуемые объектные файлы в одном месте, и при этом значительно повысить скорость компиляции. В курсовой работе приведены примеры создания и использования статических и динамических библиотек. Д разработано несколько простых динамических библиотек (возведение числа в степень и решение системы линейных уравнений) 1 Компиляция программ на языке C/C Компилятор превращает код программы на &quo ;человеческом&quo ; языке в объектный код понятный компьютеру. Компиляторов под Li ux существует много, практически для каждого распространенного языка. Большинство самых востребованных компиляторов входит в набор G U Compiler Collec io , известных под названием GCC ( Изначально аббревиатура GCC имела смысл G U C Compiler, но в апреле 1999 года сообщество G U решило взять на себя более сложную миссию и начать создание компиляторов для новых языков с новыми методами оптимизации, поддержкой новых платформ, улучшенных ru ime-библиотек и других изменений ( Поэтому сегодня коллекция содержит в себе компиляторы для языков C, C , Objec ive C, Chill, For ra , Ada и Java, как библиотеки для этих языков (libs dc , libgcj, .). Компиляция программ производится командой: gcc &l ;имя файла&g ; После этого, если процесс компиляции пройдет успешно, то вы получите загружаемый файл a.ou , запустить который можно командой: ./a.ou Для примера давайте напишем маленькую простейшую программку: #i clude &l ;s dio.h&g ; i mai (){ pri f(&quo ; &quo ;); pri f(&quo ;Our firs program for Li ux.

&quo ;); re ur 0; }; 2 Компиляция нескольких файлов Обычно простые программы состоят из одного исходного файла. Дело обстоит несколько сложнее, если эта программа становится большой. При работе с такой программой может возникнуть несколько достаточно серьезных проблем: Файл, становясь большим, увеличивает время компиляции, и малейшие изменения в исходном тексте автоматически вынуждают тратить время программиста на перекомпиляцию программы. Если над программой работает много человек, то практически невозможно отследить сделанные изменения. Процесс правки и само ориентирование при большом исходном тексте становится сложным и поиск небольшой ошибки может повлечь за собой вынужденное &quo ;изучение&quo ; кода заново. Это далеко не все пробемы, которые могут возникнуть при наличии программы &quo ;монстра&quo ;. Поэтому при разработке программ рекомендуется их разбивать на куски, которые функционально ограничены и закончены. В этом значительно помогает сам язык C , предоставляя свой богатый синтаксис. Для того, чтобы вынести функцию или переменную в отдельный файл надо перед ней поставить зарезервированное слово ex er . Для примера создадим программу из нескольких файлов. Сначала создадим главную программу, в которой будут две внешние процедуры. Назовем этот файл mai .c: #i clude &l ;s dio.h&g ; // описываем функцию f1() как внешнюю ex er i f1(); // описываем функцию f2() как внешнюю ex er i f2(); i mai () { i 1, 2; 1 = f1(); 2 = f2(); pri f(&quo ;f1() = %d &quo ;, 1); pri f(&quo ;f2() = %d &quo ;, 2); re ur 0; } Теперь создаем два файла, каждый из которых будет содержать полное определение внешней функции из главной программы. Файлы назовем f1.c и f2.c: // файл f1.c i f1() { re ur 2; } // файл f2.c i f2() { re ur 10; } После этого процесс компиляции программы с помощью gcc будет выглядеть несколько иначе от описанного в первой главе &quo ;Компиляция программ на языке C/C &quo ;. Компилировать можно все файлы одновременно одной командой, перечисляя составные файлы через пробел после ключа -c: gcc -c mai .c f1.c f2.c Или каждый файл в отдельности: gcc -c f1.c gcc -c f2.c gcc -c mai .c В результате работы компилятора мы получим три отдельных объектных файла: mai .o f1.o f2.o Чтобы их собрать в один файл с помощью gcc надо использовать ключ -o, при этом линкер соберет все файлы в один: gcc mai .o f1.o f2.o -o rezul В результате вызова полученной программы rezul командой: ./rezul На экране появится результат работы: olya:~# ./rezul f1() = 2 f2() = 10 olya:~# Теперь, если мы изменим какую-то из процедур, например f1(): i f1() { re ur 25; } То компилировать заново все файлы не придется, а понадобится лишь скомпилировать измененный файл и собрать результирующий файл из кусков: olya:~# gcc -c f1.c olya:~# gcc mai .o f1.o f2.o -o rezul 2 olya:~# ./rezul 2 f1() = 25 f2() = 10 olya:~# Таким образом можно создавать большие проекты, которые больше не будут отнимать много времени на компиляцию и поиск ошибок. Однако нужно помнить, что не стоит также черезчур разбивать программу, иначе у нас получится несколько десятков файлов, в которых рано или поздно можно запутаться.

Можно найти &quo ;золотую середину&quo ;, например в отдельные файлы помещать те функции или классы, с которыми нам приходится больше всего работать при отладке. После того, как функция будет окончательно отлажена, ее вполне можно перенести в более крупный файл. 3 Создание библиотек объектных файлов 3.1 Библиотеки объектных файлов В прошлом разделе курсовой работы мы создавали объектные файлы. Естественно, если каждая функция будет содержаться в отдельном файле, то таких файлов может оказаться десятки или даже сотни. Управлять таким количеством файлов очень сложно. Для этого был придуман механизм создания библиотек объектных файлов. Библиотека объектных файлов - это файл содержащий несколько объектных файлов, которые будут использоваться вместе в стадии линковки программы. Нормальная библиотека содержит символьный индекс, который состоит из названий функций и переменных и т.д., которые содержатся в библиотеке. Это позволяет ускорить процесс линковки программы, так как поиск функций и переменных в объектных файлах библиотеки происходит намного быстрее, чем поиск в наборе указанных объектных файлов. Поэтому использование библиотеки позволяет компактно хранить все требуемые объектные файлы в одном месте, и при этом значительно повысить скорость компиляции. Объектные библиотеки по способу использования разделяются на два вида: Статические библиотеки Динамические библиотеки Статическая библиотека - это коллекция объектных файлов, которые присоединяются к программе во время линковки программы. Таким образом статические библиотеки используются только при созданиии программы. Потом в работе самой программы они не принимают участие, в отличие от динамических библиотек. Динамическая библиотека - это созданная специальным образом библиотека, которая присоединяется к результирующей программе в два этапа. Первый этап, это естественно этап компиляции. На этом этапе линковщик встраивает в программу описания требуемых функций и переменных, которые присутствуют в библиотеке. Сами объектные файлы из библиотеки не присоединяются к программе. Присоединение этих объектных файлов(кодов функций) осуществляет системный динамический загрузчик во время запуска программы. Загрузчик проверяет все библиотеки прилинкованные с программе на наличие требуемых объектных файлов, затем загружает их в память и присоединяет их в копии запущенной программы, находящейся в памяти. Сложный процесс загрузки динамических библиотек замедляет запуск программы, но у него есть существунный, даже можно сказать неоценимый плюс - если другая запускаемая программа линкована с этой же загруженной динамической библиотекой, то она использует туже копию библиотеки. Это означает, что требуется гораздо меньше памяти для запуска нескольких программ, сами загрузочные файлы меньше по размеру, что экономит место на дисках. Однако если Вы модифицируете динамическую библиотеку и попытаетесь ее использовать при запуске программы, то если загрузчик обнаружит уже загруженную старую библиотеку он будет упорно использовать ее функции. При этом Вы так и не сможете загрузить новую версию библиотеки.

Системные библиотеки предоставляются средой операционной системы. Например, поточно-ориентированная библиотека POSIX (Portable Operating System Interface интерфейс переносимой операционной системы) содержит набор системных функций, которые в сочетании с языковыми средствами С++ успешно используются для поддержки параллелизма. Библиотека POSIX Threads является частью нового единого стандарта спецификаций UNIX (Single UNIX Specifications Standard) и включена в набор стандартов IEEE, описывающих интерфейсы ОС для UNIX (IEEE Std. 1003.1-2001). Создание нового единого стандарта спецификаций UNIX финансируется организацией Open Group, а его разработка поручена организации Austin Common Standards Revision Group. В соответствии с документами Open Group новый единый стандарт спецификаций UNIX: Pпредоставляет разработчикам ПО единый набор API-функций, которые должны поддерживаться каждой UNIX-системой; Pсмещает акцент с несовместимых реализаций систем UNIX на соответствие единому набору функций API; Pпредставляет собой кодификацию и юридическую стандартизацию общего ядра системы UNIX; Pв качестве основной цели преследует достижение переносимости исходного кода приложения

1. Основные различия между статическим (квазистатическим) и динамическим нагружением материалов

2. Статические и динамические информационные модели

3. Импульсно-статические, динамические, квазистатические триггеры

4. Библиографическая деятельность библиотеки

5. Динамические объекты /TurboPacal/

6. Динамическое распределение памяти
7. База данных "Домашняя библиотека"
8. Двунаправленный динамический список

9. Разработка АРМ научно-технической библиотеки университета

10. Технические средства статической проекции и методика их применения в начальной школе

11. Построение и исследование динамической модели портального манипулятора

12. Расчёт статически неопределимой рамы

13. Расчёт статически неопределимой балки

14. Прочность, жесткость и трещиностойкость статически неопределимых пространственных стержневых железобетонных конструкций

15. Контроль динамических параметров ЦАП

16. Разработка блока динамического ОЗУ с мультиплексором кода адреса

Банки для сыпучих продуктов (3 штуки) и ложки "Birds" 8,5х12 см, 350 см.
Банки для сыпучих продуктов (3 штуки) и ложки "Birds" станут незаменимым атрибутом приготовления пищи. Прекрасно впишутся в
642 руб
Раздел: Наборы
Шарики для бассейна, 500 штук.
Шариками можно наполнить бассейн, манеж, игровую палатку или домик. Материал: безопасный, экологически чистый пластик. Диаметр шара 7 см.
3027 руб
Раздел: Шары для бассейна
Набор первоклассника, для девочек, 16 предметов.
В наборе 16 предметов: - Подставка для книг. - Настольное покрытие для творчества. - Веер "гласные". - Веер
721 руб
Раздел: Наборы канцелярские

17. Способы наглядного представления статических данных

18. Динамические законы и механический детерминизм

19. Динамические законы и механический детерминизм

20. Рациональная философия истории: ценности, сферы бытия и динамические стратегии

21. Библиотека царя Ашшурбанапала

22. История становления библиотек. Cовременное состояние, задачи, содержание деятельности
23. Лицейская библиотека: день сегодняшний
24. Библиотеки Европы в эпоху просвещения

25. Ссылочный тип данных. Динамические объекты.

26. Динамическое и линейное программирование

27. Линейное и динамическое программирование

28. Неинерциальные полевые принципы формирования структуры материи. Закон динамической гравитации

29. Научно-методическая служба в системе управления библиотекой

30. Таблица основных динамических оттенков

31. Устройства динамической индикации

32. Принцип динамического баланса и его реализация в учебном процессе

Жаровня "Loraine", 1,5 л.
Материал: термостойкое стекло. Форма: прямоугольная. Объем: 1500 мл. Размер: 27х14х7,2 см. Информация об объеме изделия, указанная на
308 руб
Раздел: Формы для запекания
Детский велосипед Jaguar трехколесный (цвет: синий).
Детский трехколесный велосипед колясочного типа, для малышей от 10 месяцев до 3 лет. Модель с удлиненной рамой, что позволяет подобрать
1440 руб
Раздел: Трехколесные
Набор утолщенных фломастеров для декорирования (5 цветов).
Набор фломастеров для декорирования различных поверхностей с металлическим эффектом. Яркие цвета. Проветриваемый и защищенный от
522 руб
Раздел: До 6 цветов

33. Принцип динамического баланса как методологическая основа научного познания

34. Динамические и статистические законы

35. Библиотека

36. Социально-психологические феномены и динамические процессы в малой группе: общая характеристика

37. Методы сглаживания и выравнивания динамических рядов

38. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.
39. Сопротивление твердых тел деформированию при динамических нагрузках
40. Адаптация спортсменов к выполнению специфических статических нагрузок

41. Логика динамических систем

42. Модель динамического межотраслевого баланса

43. Задача динамического программирования

44. Электромагнитные, электрические и магнитные поля. Статическое электричество

45. Оптимальная организация рабочего места. Статическое электричество: проблемы и пути их решения

46. Загадка библиотеки Севастопольской биологической станции

47. Технология подготовки аналитической информационной продукции в библиотеке

48. Система каталогов библиотеки

Набор цветных карандашей "Noris Club", 24 цвета.
Детские цветные карандаши в картонной коробке. Серия «Noris Club» предназначена для использования детьми. Специальное защитное белое
377 руб
Раздел: 13-24 цвета
Стиральный порошок, автомат Econel для цветного белья (3 кг).
Стиральный порошок Econel "Color" предназначен для стирки белья из льняных, синтетических, хлопчатобумажных тканей и тканей из
343 руб
Раздел: Стиральные порошки
Набор Philips Avent № 67 "Подарочный набор для малыша 6+".
Подарочный набор Philips Avent для малыша 6+ №67 содержит все необходимые аксессуары для того, чтобы приготовить еду для малыша, накормить
1101 руб
Раздел: Наборы для кормления

49. Динамические структуры данных: очереди

50. Алгоритм определения динамических характеристик гидроупругих систем для управления гидросооружениями

51. Пример проектирования базы данных "Библиотека"

52. Проектирование базы данных Библиотека

53. Реализация отложенной загрузки библиотек на С++

54. Статические методы против виртуальных методов
55. Динамическое распределение памяти
56. Динамические структуры данных: списки

57. Динамическое представление сигналов

58. Создание библиотек подпрограмм в Turbo Pascal

59. Ссылочные типы. Динамические переменные

60. Динамическое представление сигналов

61. Статическое электричество и полупроводниковая электроника

62. О проблеме реализации единства существования статических компонент электромагнитного поля

63. Статическая балансировка роторов

64. Автоматизация ВУЗовских библиотек г. Орла

Пазл "Лесные животные".
Пазлы Ларсен - это прежде всего обучающие пазлы. На красочной картинке пазла изображены животные на лесной полянке. Собирая пазл, малыш
548 руб
Раздел: Пазлы (5-53 элементов)
Шкатулка для ювелирных украшений "Чайная роза" 17,5x17,5x9,5 см.
Шкатулка настольная. Размеры: 17,5x17,5x9,5 см. Материал: картон.
777 руб
Раздел: Шкатулки для украшений
Таблетки для мытья посуды в посудомоечной машине "Все в одной таблетке", без фосфатов, 30 таблеток.
Таблетки Frau Schmidt Все в 1 являются универсальным решением для Вашей посудомоечной машины и позволяют придать посуде бриллиантовый
338 руб
Раздел: Для посудомоечных машин

65. Любите книгу и цените библиотеку

66. Определение термина "состояние" в структуре динамического пространства сознания-тела

67. Об оценке динамических конкурентных преимуществ банка

68. Воздействие на человека статических электрических и магнитных полей

69. Динамические и статистические закономерности в природе

70. Моделирование процессов статического конусообразования при разработке нефтяных, газовых и нефтегазовых залежей
71. Правовое регулирование экономической деятельности современной библиотеки
72. Автоматизированная настройка TCP/IP, BOOTP. Динамическая настройка (DHCP)

73. Автоматизированная система учета абонентов библиотеки

74. База данных "Библиотека"

75. Основы распараллеливания программ, их динамический анализ

76. Работа с удаленными интернет-ресурсами, электронные библиотеки

77. Разработка автоматизированной системы "Библиотека"

78. Разработка базы данных по учету книг в библиотеке

79. Разработка объектно-ориентированной модели информационной системы учебной библиотеки

80. Разработка программ с использованием динамической памяти

Качели подвесные детские.
Изготовлены из полипропилена. Для детей старше 3 лет, весом до 25 кг. Перед использованием необходимо убедиться в надежном закреплении
452 руб
Раздел: Качели, кресла-качалки, шезлонги
Табурет "Плетенка" складной (большой).
Табурет, сделанный из пластмассы высокого качества. Ширина: 310 мм. Длина: 270 мм. Высота: 445 мм. Размеры сидения: длина - 230 мм, ширина
450 руб
Раздел: Стульчики
Шкатулка-фолиант "Книга Соломона", 21x13x5 см.
Шкатулка-фолиант выполнена в виде старой книги. Обложка шкатулки выполнена из кожзаменителя. Такая шкатулка послужит оригинальным, а
677 руб
Раздел: Шкатулки сувенирные

81. Реализация метода главных компонент с помощью библиотеки OpenCV

82. Стандартная библиотека на С++: алгоритм

83. Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

84. Динамические структуры данных

85. Динамические структуры данных: дек

86. Динамическое программирование, алгоритмы на графах
87. Библиотека Конгресса
88. Анализ динамических свойств системы автоматического управления заданной структурной схемы

89. Анализ линейной динамической цепи

90. Динамический синтез систем автоматического управления

91. Исследование частотных свойств линейных динамических звеньев

92. Типовые динамические звенья и их характеристики

93. Библиотека и семья

94. Виды научных библиотек. Российская национальная библиотека

95. Государственное регулирование корпоративного взаимодействия библиотек Беларуси

96. Изучение читателей в библиотеке

Салатники "Хлеб", 2 штуки.
Салатники, 2 штуки. Диаметр: 13,5/16,5 см. Высота: 6/7 см. Объем: 350/650 мл. Материал: керамика.
362 руб
Раздел: Наборы
Вакуумные пакеты с вешалкой 3 штуки: 70х105 см (2 штуки), 70х145 см (1 штука).
Характеристики: - уменьшают объём мягких предметов в 3-4 раза; - надежно защищают вещи от моли, грязи и сырости; - очень износоустойчивы и
529 руб
Раздел: Вакуумные пакеты
Набор "My Little Pony", 3 предмета.
Набор посуды в подарочной упаковке. Кружка 250 мл. Салатник 13 см. Тарелка 19,5 см.
578 руб
Раздел: Наборы для кормления

97. Национальная библиотека Беларуси как центр корпоративного взаимодействия библиотек страны

98. Развитие библиотек на территории Беларуси

99. Роль библиотек в обществе


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.