Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование функциональных возможностей библиотеки классов в консольном приложении

Поиск

1. По завершении создания консольного приложения будет создана пустая программа. Имя исходного файла будет совпадать с именем, выбранным ранее для проекта. В этом примере он имеет имя MyExecRefsDll.cpp.

2. Для использования математических процедур из библиотеки динамической компоновки необходимо сослаться на эту библиотеку. Для этого в меню Проект(Project) выберите пункт Ссылки....(Reference…) В диалоговом окне Окна свойств(Properties) разверните узел Общие свойства (Common Properties), выберите пункт Ссылки, а затем нажмите кнопку Добавить новую ссылку.... (Add New Rewference…).

3. Появится диалоговое окно Добавить ссылку. В этом диалоговом окне отображается список всех библиотек, на которые можно ссылаться. На вкладке Проект перечисляются все проекты текущего решения и включенные в них библиотеки. На вкладке Проекты выберите MathFuncsDll. Затем нажмите кнопку ОК.

4. Для создания ссылки на заголовочные файлы библиотеки динамической компоновки необходимо изменить путь к каталогам включения. Для этого в диалоговом окне Окна свойств (Properties) последовательно разверните узлы Свойства конфигурации (Configuration Properties), C/C++, а затем выберите Общие (General). Рядом с полем Дополнительные каталоги включения (Additional Include Directories) введите путь к месту размещения заголовочного файла MathFuncsDll.h.

5. Исполняемый файл не загружает библиотеки динамической компоновки во время выполнения. Необходимо указать системе место для поиска библиотеки MathFuncsDll.dll. Это можно сделать с помощью переменной среды PATH. Для этого в диалоговом окне Окна свойств (Properties) разверните узел Свойства конфигурации (Configuration Properties), а затем выберите Отладка(Debugging). В поле Среда(Environment) введите следующую строку: PATH=<путь к файлу MathFuncsDll.dll>, где вместо <путь к файлу MathFuncsDll.dll> необходимо подставить фактическое местоположение библиотеки MathFuncsDll.dll. Нажмите кнопку ОК для сохранения всех изменений.

6. Теперь класс MyMathFuncs можно использовать в приложении. Замените код в файле MyExecRefsDll.cpp следующим кодом:

// MyExecRefsDll.cpp// compile with: /EHsc /link MathFuncsDll.lib#include <iostream>#include "MathFuncsDll.h"using namespace std;int main(){ double a = 7.4; int b = 99; cout << "a + b = " << MathFuncs::MyMathFuncs::Add(a, b) << endl; cout << "a - b = " << MathFuncs::MyMathFuncs::Subtract(a, b) << endl; cout << "a * b = " << MathFuncs::MyMathFuncs::Multiply(a, b) << endl; cout << "a / b = " << MathFuncs::MyMathFuncs::Divide(a, b) << endl; return 0;}

7. Постройте исполняемый файл, выбрав команду Построить решение в меню Построение.

Запуск приложения

1. Убедитесь, что проект MyExecRefsDll выбран в качестве проекта по умолчанию. В Обозревателе решений выберите проект MyExecRefsDll и затем в меню Проект выберите команду Назначить запускаемым проектом.

2. Чтобы запустить проект, в меню Отладка выберите команду Запуск без отладки. Результат выполнения должен выглядеть примерно следующим образом:

a + b = 106.4a - b = -91.6a * b = 732.6a / b = 0.0747475

 

 

Создание и использование статической библиотеки (C++)

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

В этом пошаговом руководстве рассматриваются следующие действия:

· создание проекта статической библиотеки;

· добавление класса в статическую библиотеку;

· создание приложения, ссылающегося на статическую библиотеку;

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

· запуск приложения.



Поделиться:


Последнее изменение этой страницы: 2016-12-11; просмотров: 310; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.200.114 (0.007 с.)