Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Динамически подключаемые библиотеки




 

 

6.1. Цель работы

Научиться создавать динамические подключаемые библиотеки (DLL) при помощи Microsoft Visual Studio.

 

 

6.2. Теоретические сведения

Операционная система Windows исходно задумывалась как многозадач- ная, что означает возможность выполнения на одном персональном компьюте- ре (ПК) нескольких задач. Часто требуется, чтобы такие задачи взаимодейство- вали между собой, обменивались информацией, причем на основе стандартного

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

Самый простой способ обмена информацией между программами – это использование динамически подключаемых библиотек *.dll. Библиотека *.dll – это не программа, а хранилище программного кода (например, функций) и ре-сурсов (например, форм). Она подключается к программе динамически, после того как программа запущена. Использовать библиотеки *.dll очень удобно. Пусть, например, имеется программа прогнозирования некоего значения на ос- новании данных, вводимых пользователем. В этом случае будет целесообразно создать пользовательский интерфейс, а сам алгоритм расчета прогноза выде- лить в отдельную функцию и поместить его в библиотеку *.dll, подключаемую к программе. Если разработчик улучшит алгоритм прогнозирования, то пользо- вателям достаточно поменять только библиотеку *.dll, а вносить изменения в код, ответственный за интерфейс, вообще не придется.

Для создания библиотеки *.dll следует выбрать в меню пункт FileNew

Project (шаблон Class Library). Далее в сгенерированный Visual Studio шаб- лон библиотеки следует добавить текст функции, которую требуется динамиче- ски подключать к программе. В листинге 6.1 приведен пример текста библио-

теки *.dll.

Листинг 6.1. Динамически подключаемая библиотека

using System;

using System.Collections.Generic;

using System.Text;

namespace ClassLibrary1

{

public class Class1

{

// текст функции, создаваемой программистом

public int summ(int i, int j)

{

// вычисляется сумма двух чисел

return i + j;

}

}

}

Для демонстрации возможности использования библиотеки *.dll созда-

дим программу, вызывающую функцию из этой библиотеки. Окно интерфейса программы приведено на рис. 6.1.

 

 

 

Рис. 6.1. Окно программы, использующей функцию из *.dllбиблиотеки

 

 

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

Листинг 6.2. Программа, использующая библиотеку *.dll

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data; using System.Drawing; using System.Text;

using System.Windows.Forms;

using ClassLibrary1; // Подключение библиотеки

namespace WindowsApplication6

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

// создается обьект класа библиотеки *.dll

ClassLibrary1.Class1 meLib = new Class1();

// вызывается функция из библиотеки

 

 

int result=meLib.summ(Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox2.Text));

textBox3.Text = result.ToString();

}

}

}

Предварительно к приложению надо подключить используемую библио-

теку, выбрав в меню пункт ProjectAdd ReferenceBrowse.

 

6.3. Программа работы

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

библиотеку *.dll):

1. Нахождения гиперболического синуса sh(x)=(ex-e-x)/2.

2. Нахождения гиперболического косинуса ch(x)= (ex+e-x)/2.

3. Нахождения обратного гиперболического синуса arcsh(x)=ln(x+(x2+1)1/2).

4. Нахождения обратного гиперболического косинуса arcch(x)=ln(x+(x2-1)1/2).

5. Нахождения интегрального синуса

 

.

 

 
6. Нахождения интегрального косинуса

где γ=0.57721566 – постоянная Эйлера.

7. Нахождения интегрального гиперболического синуса

 

.

 

 
8. Нахождения интегрального гиперболического косинуса

.

9. Нахождения факториала n!

10. Нахождения гиперболического тангенса th(x)=sh(x)/ch(x).

11. Нахождения интегральной показательной функции по ее разложению в ряд

 

.

 

 
12.Нахождения числа размещений из n элементов по m

 

 
.

 

 

13. Нахождения сочетаний n элементов по m

 

 
.

 

14. Нахождения корней квадратного уравнения.

15. Нахождения решения системы двух линейных уравнений с двумя неиз- вестными.


 

 





Поделиться с друзьями:


Дата добавления: 2017-02-11; Мы поможем в написании ваших работ!; просмотров: 585 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Чтобы получился студенческий борщ, его нужно варить также как и домашний, только без мяса и развести водой 1:10 © Неизвестно
==> читать все изречения...

2407 - | 2289 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.