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




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

· В меню Файл выберите пункт Создать, а затем пункт Проект.

· В узле Visual C++ выберите Win32 Console Application.

· Выберите имя для проекта, например TRationalLib, и введите его в поле Имя. Выберите имя для решения, например StaticLibrary, и введите его в поле Имя решения.

· Для запуска мастера приложений Win32 нажмите кнопку ОК. На странице Общие сведения диалогового окна Мастер приложений Win32 нажмите кнопку Далее(Next)

· На странице Параметры(Application Settings) приложения диалогового окна Мастер приложений Win32 в поле Тип (Application type) приложения выберите пункт Статическая библиотека(Static library).

· На странице Параметры(Application Settings) приложения диалогового окна Мастер приложений Win32 в поле Дополнительные параметры(Additional options) снимите флажок Предкомпилированный заголовок(Precompiled header).

· Чтобы создать проект, нажмите кнопку Готово(Finish).

Добавление класса TRational в статическую библиотеку Add/Class

TRational.h

 

#ifndef _TRational_H

#define _TRational_H

#include <string>

using namespace std;

 

class TRational

{

long chis,zn;

void Reduce();

int NOD(long x, long y);

public:

TRational(const long &c=0, const long &z=1);

TRational(const int &c, const int &z);

TRational(const double &r);

string toString();

TRational Add(const TRational &r);

TRational operator +(const TRational &r);

TRational operator +(const long &r);

TRational& operator +=(const TRational &r);

friend ostream& operator >>(ostream &t, const TRational &r);

};

#endif

TRational.cpp

#include "TRational.h"

#include <iostream>

#include <string>

#include <sstream>

 

using namespace std;

 

int TRational::NOD(long x, long y){

if(y==0)return x;else return NOD(y, x%y);

}

void TRational::Reduce(){

long t;

t = NOD (chis,zn);

chis /= t;

zn /= t;

}

 

TRational::TRational(const long &c,const long &z):chis(c),zn(z){

 

if (zn==0) {cout<<"Error - divide by zero"; exit;}

Reduce();

}

TRational::TRational(const int &c, const int &z):chis(c),zn(z){

if(zn==0){cout<<"Error - divide by zero"; exit;}

Reduce();

}

TRational::TRational(const double &r){

double val1, val2;

val1 = r*10000000L; val2 =r* 1000000L;

chis = long(val1 -val2);

zn = 90000000L;

Reduce();

}

string TRational::toString(){

stringstream ss (stringstream::in | stringstream::out);

string str;

ss << chis<<'/'<<zn;

ss >> str;

return str;

}

TRational TRational::Add(const TRational &r){

TRational t =*this;

t.zn *=r.zn;

t.chis = t.chis * r.zn + r.chis * t.zn;

t.Reduce();

return t;

}

TRational TRational::operator +(const TRational &r)

{

TRational t =*this;

t.zn *=r.zn;

t.chis = t.chis * r.zn + r.chis * t.zn;

t.Reduce();

return t;

}

TRational& TRational::operator +=(const TRational &r){

 

chis = chis * r.zn + r.chis * zn;

zn *=r.zn;

Reduce();

return *this;

}

TRational TRational::operator +(const long &r){

TRational t(r);

t += *this;

t.Reduce();

return t;

}

 

Скомпилируйте статическую библиотеку, выбрав команду Построить решение (Build Solution) в меню Построение(Build).

В результате будет создана статическая библиотека, которая может использоваться другими программами(..\StaticLibrary\Debug\TRationalLib.lib).

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

· В меню Файл выберите пункт Создать, а затем пункт Проект.

· В узле Visual C++ выберите Win32 Console Application.

· Выберите имя для проекта, например CallTRationalLib, и введите его в поле Имя.

· Для запуска мастера приложений Win32 нажмите кнопку ОК. На странице Общие сведения диалогового окна Мастер приложений Win32 нажмите кнопку Далее(Next)

· На странице Параметры(Application Settings) приложения диалогового окна Мастер приложений Win32 в поле Тип (Application type) приложения выберите пункт Консольное приложение(Console application)

· На странице Параметры(Application Settings) приложения диалогового окна Мастер приложений Win32 в поле Дополнительные параметры(Additional options) выберите пункт (Empty project).

· Чтобы создать проект, нажмите кнопку Готово(Finish).

Добавьте файл программы primer.cpp(Add/New item …/C++ file)

#include <iostream>

#include "TRational.h"

using namespace std;

int main(){

TRational t(5,10),p(10,5);

cout<<t.toString()<<endl<<p.toString()<<endl;

TRational t1;

t1 = t.Add(p);

cout<<t1.toString()<<endl;

t1 = t + p;

cout<<t1.toString()<<endl;

t1 += p += t;

cout<<t1.toString()<<endl;

cout<<p.toString()<<endl;

p = p + 5;

cout<<p.toString()<<endl;

//p = 5 + p;

//cout<<p.toString()<<endl;

system("pause");

 

return 0;

}

Для использования класса из статической библиотеки необходимо сослаться на эту библиотеку.

Для этого в меню Проект выберите пункт Свойства проекта(Project/CallTrationalLib Properties …).

Для создания ссылки на статическую библиотеку

1. Разверните узел Linker/Input и выберите команду дополнительные ссылки(Additional Dependencies), выберите пустую строку, и нажмите кнопку с многоточием (…) в конце строки. В окне введите имя библиотеки TRationalLib.lib и нажмите ОК.

2. Разверните узел Linker/General и выберите команду дополнительные каталоги для библиотек (Additional Library Directories), выберите пустую строку, и нажмите кнопку с многоточием (…) в конце строки. В диалоговом окне Выбор каталога нажмите кнопку Выбор папки и выберите каталог, где располагается файл библиотеки TRationalLib.lib (..\StaticLibrary\Debug). В диалоговом окне Дополнительные каталоги включаемых файлов нажмите кнопку ОК чтобы сохранить выбранные значения и закрыть диалоговое окно.

Для создания ссылки на заголовочный файл

Разверните узел С/С++ /General и выберите команду Дополнительные каталоги включаемых файлов (Additional Include Directories), выберите пустую строку, и нажмите кнопку с многоточием (…) в конце строки. В диалоговом окне Выбор каталога нажмите кнопку Выбор папки и выберите каталог, где располагается файл TRational.h (..\StaticLibrary\ TRationalLib). В диалоговом окне Дополнительные каталоги включаемых файлов нажмите кнопку ОК чтобы сохранить выбранные значения и закрыть диалоговое окно.

 

 

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: