Разделы презентаций


Использование библиотек в различных системах программирования

Содержание

I. Библиотеки подпрограмм как составная часть систем программирования

Слайды и текст этой презентации

Слайд 1Курсовая работа по дисциплине: Системное программное обеспечение на тему: «Использование

библиотек в различных системах программирования»

Курсовая работа  по дисциплине: Системное программное обеспечение  на тему: «Использование библиотек в различных системах программирования»

Слайд 2I. Библиотеки подпрограмм как составная часть систем программирования

I. Библиотеки подпрограмм как составная часть систем программирования

Слайд 3 В состав системы программирования может входить большое количество разнообразных библиотек.

Среди них всегда можно выделить основную библиотеку, содержащую обязательные функции

входного языка программирования. Остальные библиотеки необязательны и подключаются к результирующей программе только по прямому указанию разработчика.
В состав системы программирования может входить большое количество разнообразных библиотек. Среди них всегда можно выделить основную библиотеку,

Слайд 4 Новые возможности предоставили современные ОС, которые позволили подключать к результирующим

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

статических библиотек подключаются к программе не в момент ее компоновки, а непосредственно в ходе выполнения, как только программа затребовала ту или иную функцию, находящуюся в библиотеке. Преимущества таких библиотек — они не требуют включать в программу объектный код часто используемых функций.
Новые возможности предоставили современные ОС, которые позволили подключать к результирующим программам не статические, а динамические библиотеки.		Динамические библиотеки

Слайд 5
Статические библиотеки – могут быть в виде исходного текста, подключаемого

программистом к своей программе на этапе написания, либо в виде

объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции. В результате программа включает в себя все необходимые функции, что делает её автономной, но увеличивает размер.

Статические библиотеки – могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания,

Слайд 6Результирующая программа
Статическая библиотека
Исходная программа
+
=

Результирующая программаСтатическая библиотекаИсходная программа+=

Слайд 7
Динамические библиотеки – это отдельные файлы, предоставляющие прикладным программам набор

наиболее часто используемых функций, и загружаемые на этапе выполнения при

обращении программы к ОС с заявкой на выполнение функции из библиотеки. Если запрошенная библиотека уже загружена в основное запоминающее устройство, программа будет пользоваться загруженной копией. Такой подход позволяет экономить память, поскольку несколько программ используют одну копию библиотеки, загруженную в память.
Динамические библиотеки – это отдельные файлы, предоставляющие прикладным программам набор наиболее часто используемых функций, и загружаемые на

Слайд 8II. Включение текстов из файлов

II. Включение текстов из файлов

Слайд 9 Перечень обозначений заголовочных файлов для работы с библиотеками компилятора утвержден

стандартом языка:
assert.h - Диагностика программ
ctype.h - Преобразование и проверка символов
errno.h - Проверка ошибок
float.h -

Работа с вещественными данными
limits.h - Предельные значения целочисленных данных
locate.h - Поддержка национальной среды
math.h - Математические вычисления
setjump.h - Возможности нелокальных переходов
signal.h - Обработка исключительных ситуаций
stdarg.h - Поддержка переменного числа параметров
stddef.h - Дополнительные определения
stdio.h - Средства ввода-вывода
stdlib.h - Функции общего назначения (работа с памятью)
string.h - Работа со строками символов
time.h - Определение дат и времени
Перечень обозначений заголовочных файлов для работы с библиотеками компилятора утвержден стандартом языка:assert.h	- Диагностика программctype.h	- Преобразование и проверка

Слайд 10 Стандартные заголовочные файлы могут быть нечаянно или нарочно включены в

текст программы в любом порядке и по несколько раз без

отрицательных побочных эффектов. Однако действие включаемого заголовочного файла распространяется на текст программы только в пределах одного модуля от места размещения директивы #include и до конца текстового файла (и всех включаемых в программу текстов).
Стандартные заголовочные файлы могут быть нечаянно или нарочно включены в текст программы в любом порядке и по

Слайд 11 Заголовочные нестандартные файлы оказываются весьма эффективным средством при модульной разработке

крупных программ, когда связь между модулями, размещаемыми в разных файлах,

реализуется не только с помощью параметров, но и через внешние объекты, глобальные для нескольких или всех модулей. Описания таких внешних объектов (переменных, массивов, структур и т.п.) и прототипы функций помещаются в одном файле, который с помощью директив #include включается во все модули, где необходимы внешние объекты.
Заголовочные нестандартные файлы оказываются весьма эффективным средством при модульной разработке крупных программ, когда связь между модулями, размещаемыми

Слайд 12 В тот же файл можно включить и директиву подключения файла

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

таким:
#include
/* Включение средств обмена */
/* Целые внешние переменные */
extern int ii, jj, 11;
/* Вещественные внешние переменные */
extern float aa, bb;


В тот же файл можно включить и директиву подключения файла с описаниями библиотеки функций ввода-вывода. Заголовочный файл

Слайд 13III. Библиотеки объектных модулей

III. Библиотеки объектных модулей

Слайд 14 Библиотека объектных модулей – это файл содержащий несколько объектных файлов,

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

Библиотека объектных модулей – это файл содержащий несколько объектных файлов, которые будут использоваться вместе в стадии присоединения

Слайд 154. Создание статической библиотеки

4. Создание статической библиотеки

Слайд 16 Для создания статических библиотек существует простая специальная программа называемая ar

(сокращенно от archiver – архиватор). Она используется для создания, модификации

и просмотра объектных файлов в статических библиотеках, которые в действительности представляют из себя простые архивы.
Для создания статических библиотек существует простая специальная программа называемая ar (сокращенно от archiver – архиватор). Она используется

Слайд 17 Ключи программы ar имеют следующий смысл:
-d -исключить указанные (с помощью

параметра имя...) файлы из архивного файла;
-r -заменить указанные (параметром имя...)

файлы в архивном файле.
-t - вывести в стандартный поток вывода оглавление архивного файла.
-р - вывести в стандартный поток вывода указанные (параметром имя...) файлы из архива;
-v - выдавать пояснительные сообщения;
-х - извлечь из архива указанные (параметром имя...) файлы.
-с - создать архивный файл. Обычно программа ar при необходимости создает архивный файл сама. Данный ключ подавляет информационное сообщение, выдаваемое при создании архивного файла.

Ключи программы ar имеют следующий смысл:-d -исключить указанные (с помощью параметра имя...) файлы из архивного файла;-r -заменить

Слайд 18V. Создание библиотеки.

Рассмотрим создание библиотеки на примере нахождения значения функции:


V. Создание библиотеки.		Рассмотрим создание библиотеки на примере нахождения значения функции:

Слайд 19Листинг программы:
#include
#include
#include
double zl (double a);
double

z2 (double a);
main(){
double a;
clrscr();
printf("Vvedite znachiniye parametra a:");
scanf("%lf',&a);
printf("Znacheniye funckcii zl

ravno: %lf\n", zl(a) );
printf("Znacheniye funckcii z2 ravno: %lf\n", z2(a) );
 printf("Programma zavershaet svoyu rabotu.\nDlya zakritiya najmite lubuyu klavishu.");
getch(); return 0;}
double zl (double a){
return ( ( sin( PI/2+3*a ) )/( l-sin( 3*a-PI ) ) );}
double z2 (double a){
return ( ctan( 5/4*PI+3/2*a ) );}
Листинг программы: #include #include #include double zl (double a); double z2 (double a);main(){ double a;clrscr();printf(

Слайд 20Создание библиотеки:
Библиотека создаётся в интегрированной среде программирования Borland Turbo С

(tc.exe). Библиотека включает в себя функции, необходимые для вычисления значения

zl и z2 из задания. Также в библиотеку включена вещественная константа, значение которой приближается к значению π. Текст библиотеки приведён ниже.
Создание библиотеки:		Библиотека создаётся в интегрированной среде программирования Borland Turbo С (tc.exe). Библиотека включает в себя функции, необходимые

Слайд 21Листинг библиотеки (bib.ml):
/*
This is a training library which include

following function: sin(x) the x is double -> function return

a double type cos(x) the x is double -> function return a double type ctan(x) the x is double -> function return a double type factorial(x) the x is double -> function return a double type pow(x,i) the x is double, i is int -> function return a double type and constants: PI-3,14159265358979
Pi=3,1415926535897932384626433832795 but it is too long :)
This library created by me: MC_CCCP for my laboratory works on SPE Data: 13042008
*/
Листинг библиотеки (bib.ml): /*This is a training library which include following function: sin(x) the x is double

Слайд 22/*Declaration*/
double sin (double x);
double cos (double x);
double ctan (double

x);
double factorial (double n );
double pow (double x,int

i);
const double PI=3.14159265358979;
/*Definition*/
double sin (double x){
double y=0;
int p=l,i;
for(i=l;i<50;i+=2){
у += p*pow(x,i)/factorial(i);
p*=-l;}
return y;}
/*Declaration*/double sin (double x); double cos (double x);double ctan (double x); double factorial (double n ); double

Слайд 23double cos (double x){
double y=0;
intp=l,i;
for(i=0;i

x){
return ( cos(x)/sin(x) ) ;}
double factorial (double n){
double f=l;
for (n;n>0;n--)


f*=n;
return f;}
double pow (double x, int i){
double y=l;
int j;
for (j=0; jy*=x;
return y;}
double cos (double x){double y=0;intp=l,i;for(i=0;i0;n--) f*=n;return f;}double pow (double x, int i){double y=l;int j;for (j=0; j

Слайд 245. Динамическая библиотека

5. Динамическая библиотека

Слайд 25 Динамические библиотеки немного лучше статических, но их использование более сложное.


Объектный файл статистических библиотек вовсе не подходит для динамических библиотек.

Связано это с тем, что все объектные файлы статистических библиотек не имеют представления о том, в какие адреса памяти будет загружена использующая их программа. Несколько различных программ могут использовать одну библиотеку, и каждая из них располагается в различном адресном пространстве. Поэтому требуется, чтобы переходы в функциях библиотеки (операции goto на ассемблере) использовали не абсолютную адресацию, а относительную. То есть генерируемый компилятором код должен быть независимым от адресов, такая технология получила название PIC - Position Independent Code. В компиляторе данная возможность включается ключом -fPIC.

Динамические библиотеки немного лучше статических, но их использование более сложное. 		Объектный файл статистических библиотек вовсе не подходит

Слайд 266. Пример использования некоторых библиотек

6. Пример использования некоторых библиотек

Слайд 27Задача:
Написать программу, которая задумывает число в диапазоне от 1 до

10 и предлагает пользователю угадать число за 3 попытки.

Задача:	Написать программу, которая задумывает число в диапазоне от 1 до 10 и предлагает пользователю угадать число за

Слайд 28#include
#include // для доступа к srand
#include
void main()
{
int comp; //

задуманное число
int igrok; // вариант, игрока
int n; //количество попыток
time_t t; // текущее время

- для инициализации генератора случайных чисел
 
srand((unsigned) time(&t));
comp=rand()%10+1;
clrscr();
cprintf("\n\rKomputer\"zdumal\"chislo ot 1 do\10\n\r");
cprintf("Vi dolzni ego ugadat za 3 popitki");
#include #include 	// для доступа к srand#include 	void main(){int comp;	// задуманное числоint igrok;	// вариант, игрокаint n;		//количество попытокtime_t

Слайд 30 В данной задаче использованы библиотеки conio.h, stdlib., time.h, их предназначение

заключается в следующем:
Библиотека conio.h предназначена для работы с терминалом в

текстовом режиме, в данной задаче используется функция textcolor(), которая устанавливает цвет символов по значению параметра, находящегося внутри круглых скобок (textcolor(GREEN)).
Библиотека stdlib.h предназначена для доступа к функции srand – функция инициализации генератора случайных чисел.
Библиотека time.h предназначена для определения дат и времени, в данной задаче предназначена для определения текущего времени для инициализации генератора случайных чисел.
В данной задаче использованы библиотеки conio.h, stdlib., time.h, их предназначение заключается в следующем:		Библиотека conio.h предназначена для работы

Слайд 31VII. Язык программирования Python. Стандартная библиотека

VII. Язык программирования Python. Стандартная библиотека

Слайд 32 Рассмотрим подробнее стандартную библиотеку Питона. Библиотека состоит из нескольких разделов:

1. Модули, дающие доступ к внутренностям интерпретатора и особенностям языка

и реализации.
2. Модули для манипуляции со строками, в том числе и с юникодовыми строками.
3. Модули, дающие доступ к системной библиотеке, в первую очередь математические функции.
4. Модули для написания тестов в стиле Extreme Programming.
5. Модули для (относительно) переносимого способа доступа к функциям операционной системы.
Рассмотрим подробнее стандартную библиотеку Питона. Библиотека состоит из нескольких разделов: 1. Модули, дающие доступ к внутренностям интерпретатора

Слайд 33 Так как модулей в стандартно библиотеке очень много, рассмотрим некоторые

из них:
1. Первый важный модуль - sys, модуль доступа к

Системе. Не операционной системе, а Системе. То есть к интерпретатору.
2. Модули dumbdbm, dbm, gdbm, bsddb дают доступ к соответствующим встраиваемым базам данных
3. String - модуль для манипуляции со строками без регулярных выражений. Здесь собраны функции для поиска подстроки в строке, замены и тому подобное и т. д.

Так как модулей в стандартно библиотеке очень много, рассмотрим некоторые из них:		1. Первый важный модуль - sys,

Слайд 34IX. Библиотека TURBO VISION для TURBO PASCAL

IX. Библиотека TURBO VISION для TURBO PASCAL

Слайд 35 Библиотека TURBO VISION предназначена для создания интерактивных программ, работающих в

текстовом режиме, в соответствии со стандартом SAA/CUA .
Большинство программистов при

написании каждой новой программы тратит много времени на разработку административной части.
TURBO VISION содержит элементы административной системы, которые наращиваются с помощью объектно-ориентированного программирования.
Библиотека TURBO VISION предназначена для создания интерактивных программ, работающих в текстовом режиме, в соответствии со стандартом SAA/CUA

Слайд 36Пример программы на Turbo Pascal с использованием библиотеки TurboVision

Пример программы на Turbo Pascal с использованием библиотеки TurboVision

Слайд 37 Простейшая программа, написанная с использованием TURBO VISION, имеет вид:
Program Simplest;
uses

App;
var MyApp : TApplication;
begin
MyApp.Init;
MyApp.Run;
MyApp.Done;
end.
Завершается работа программы нажатием клавиш Alt+X или

нажатием клавиши мыши, подведенной к строке состояния.
Эта программа, запущенная на выполнение, выводит на экран дисплея три подэлемента - пустую строку меню, рабочую область и строку состояния, которая содержит текст Alt+X Exit. Язык FORTRAN
Рассмотрим основные характеристики языка.
Простейшая программа, написанная с использованием TURBO VISION, имеет вид:	Program Simplest;	uses App;	var MyApp : TApplication;	begin		MyApp.Init;		MyApp.Run;		MyApp.Done;	end.		Завершается работа программы нажатием

Слайд 38 В заключении хочется сказать, что библиотеки подпрограмм входили в состав

средств разработки, начиная с самых ранних этапов их развития. Даже

когда компиляторы еще представляли собой отдельные программные модули, они уж были связаны соответствующими библиотеками, поскольку компиляция, так или иначе, предусматривает связь программ со стандартными функциями исходного языка. Эти функции обязательно должны входить в состав библиотек.

В заключении хочется сказать, что библиотеки подпрограмм входили в состав средств разработки, начиная с самых ранних этапов

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика