Создание приложения, ссылающегося на DLL
Чтобы создать приложение С++, которое будет ссылаться и использовать созданную ранее в строке меню библиотеку DLL, в меню Файл выберите пункт
1. Создать и затем пункт Проект.
2. В левой области в категории Visual C++ выберите Win32.
3. В центральной области выберите Консольное приложение Win32.
4. Укажите имя для проекта — например, MyExecRefsDll — в поле Имя. В раскрывающемся списке рядом с полем Решение выберите Добавить в решение. В результате новый проект будет добавлен в то же решение, содержащее DLL. Нажмите кнопку ОК.
5. На странице Обзор диалогового окна Мастер приложений Win32 нажмите кнопку Далее.
6. На странице Параметры приложения в разделе Тип приложения выберите Консольное приложение.
7. На странице Параметры приложения в разделе Дополнительные параметры снимите флажок Предкомпилированный заголовок.
8. Нажмите кнопку Готово, чтобы создать проект.
Использование функциональности из библиотеки классов в приложении
После создания консольного приложения будет создана пустая программа. Имя исходного файла будет совпадать с ранее выбранным именем. В этом примере он имеет имя MyExecRefsDll.cpp.
Для использования в приложении математических процедур, созданных в библиотеке DLL, необходимо сослаться на эту библиотеку. Для этого в Обозревателе решений выберите проект MyExecRefsDll, затем в меню Проект выберите Ссылки. В диалоговом окне Страницы свойств разверните узел Общие свойства, выберите .NET Framework и ссылки и нажмите кнопку Добавить новую ссылку. Дополнительные сведения о диалоговом окне Ссылки см. в разделе Среда и ссылки, общие свойства и диалоговое окно "Страницы свойств: <Имя проекта>".
В диалоговом окне Добавление ссылки перечислены библиотеки, на которые можно создать ссылку. На вкладке Проект перечислены все проекты текущего решения и включенные в них библиотеки, если они есть. Установите флажок рядом с MathFuncsDll на вкладке Проекты, а затем нажмите кнопку ОК.
Для создания ссылки на файлы заголовков DLL необходимо изменить путь к каталогам включения. Для этого в диалоговом окне Окна свойств последовательно разверните узлы Свойства конфигурации, C/C++, а затем выберите Общие. В поле Дополнительные каталоги включаемых файлов укажите путь к месту размещения файла заголовков MathFuncsDll.h. Можно использовать относительный путь, например ..\MathFuncsDll\, затем нажмите кнопку ОК.
Теперь класс MyMathFuncs можно использовать в приложении. Замените код в файле MyExecRefsDll.cpp следующим кодом:
C++
// 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;
try
{
cout << "a / 0 = " <<
MathFuncs::MyMathFuncs::Divide(a, 0) << endl;
}
catch (const invalid_argument &e)
{
cout << "Caught exception: " << e.what() << endl;
}
return 0;
}
Соберите исполняемый файл, выбрав команду Собрать решение в меню Сборка.
Запуск приложения
Убедитесь, что проект MyExecRefsDll выбран в качестве проекта по умолчанию. В Обозревателе решений выберите MyExecRefsDll и затем в меню Проект выберите Назначить запускаемым проектом.
Чтобы запустить проект, в меню Отладка выберите Запуск без отладки. Результат выполнения должен выглядеть примерно следующим образом:
a + b = 106,4
a - b = -91,6
a * b = 732,6
a / b = 0,0747475
Перехвачено исключение: b не может быть равно нулю!
Дата добавления: 2017-01-26; просмотров: 1663;