Форум программистов, компьютерный форум CyberForum.ru

реализация больших чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
05.05.2010, 01:37     реализация больших чисел #1
Появилась надобность в реализации программы, работающей с большими числами. Взял библиотеку здесь. Всё сделал как написано в мануале - итог 160 ошибок и итог:
библиотека по умолчанию "libcmtd.lib" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library.

В Чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
07.05.2010, 01:11  [ТС]     реализация больших чисел #2
вроде отрубил библиотеку по умолчанию... но теперь появляются ошибки вида :

error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl Arageli::operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Arageli::big_int &)" (??5Arageli@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@std@@AAV12@AAVbig_int@0@@Z) в функции _main

вот сам код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// bigint.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <arageli.hpp>
using namespace std;
using namespace Arageli;
 
int main(int argc, char *argv[])
{
    big_int zero;
    cout << "By default, constructor creates zero = " 
        << zero << endl;
    
    big_int big_number = 
        "101100111000111100001111100000111111000000";
    cout << "Really big integer: " << big_number << endl;
 
            return 0;
}
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
07.05.2010, 20:33     реализация больших чисел #3
похоже опции сборки взятой тобой библиотеки не соответствуют опциям сборки твоего проекта
бери сорцы и компиляй библиотеку сам - опции будут идентичны
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
08.05.2010, 00:33  [ТС]     реализация больших чисел #4
Цитата Сообщение от odip Посмотреть сообщение
похоже опции сборки взятой тобой библиотеки не соответствуют опциям сборки твоего проекта
бери сорцы и компиляй библиотеку сам - опции будут идентичны
ну вообще-то я и компилил библиотеку через проект, как сказано в мануале. М потом создал новый проект, чтобы посмотреть как работает их пример... в итоге - ошибки

Может я что-то сам не то делаю?

1) Строю проект - получаю библиотеку
2) Копирую её вместе с хедерами ,объектами и hpp в папки vc
3) Создаю пример проекта и - ошибки

PS там при ребилде скачанного проекта варринги были, может из-за этого?
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
08.05.2010, 22:38     реализация больших чисел #5
Ну ты сам говоришь что у тебя два проекта
Мог сделать другие настройки - получил различие в опциях сборки
PS там при ребилде скачанного проекта варринги были, может из-за этого?
Без текстов этих warnings сказать что-нибудь вразумительное трудно
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
09.05.2010, 00:51  [ТС]     реализация больших чисел #6
Цитата Сообщение от odip Посмотреть сообщение
Без текстов этих warnings сказать что-нибудь вразумительное трудно
вот ошибки

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
1>Компиляция...
1>chislo.cpp
1>c:\program files\microsoft visual studio 9.0\vc\include\big_int.cpp(107) : warning C4293: >>: отрицательное или слишком большое смещение; поведение не определено
1>        c:\program files\microsoft visual studio 9.0\vc\include\big_int.hpp(163): см. ссылку на создание экземпляров функции шаблон при компиляции "void Arageli::big_int::from_native_int<bool>(const T &)"
1>        with
1>        [
1>            T=bool
1>        ]
1>c:\program files\microsoft visual studio 9.0\vc\include\cmp.hpp(80) : warning C4800: int: принудительно задано логическое значение 'true' или 'false' (предупреждение о производительности)
1>        c:\program files\microsoft visual studio 9.0\vc\include\big_float.hpp(241): см. ссылку на создание экземпляров функции шаблон при компиляции "bool Arageli::is_negative<Arageli::big_float>(const T &)"
1>        with
1>        [
1>            T=Arageli::big_float
1>        ]
1>Компоновка...
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Arageli::big_int::big_int(char const *)" (??0big_int@Arageli@@QAE@PBD@Z) в функции _main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) в функции _main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl Arageli::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Arageli::big_int const &)" (??6Arageli@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABVbig_int@0@@Z) в функции _main
1>chislo.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > std::cout" (__imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A)"
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (__imp_?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) в функции _main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ ___security_cookie в функции _main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ ___CxxFrameHandler3 в функции __ehhandler$_main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ @__security_check_cookie@4 в функции __ehhandler$_main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ @_RTC_CheckStackVars@8 в функции _main
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ __RTC_CheckEsp в функции _main
1>chislo.obj : error LNK2001: неразрешенный внешний символ "__RTC_Shutdown"
1>chislo.obj : error LNK2001: неразрешенный внешний символ "__RTC_InitBase"
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "private: void __thiscall Arageli::big_int::free_number(void)" (?free_number@big_int@Arageli@@AAEXXZ) в функции "public: __thiscall Arageli::big_int::~big_int(void)" (??1big_int@Arageli@@QAE@XZ)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "private: void __thiscall Arageli::big_int::alloc_number(int,unsigned long *,unsigned int)" (?alloc_number@big_int@Arageli@@AAEXHPAKI@Z) в функции "private: void __thiscall Arageli::big_int::alloc_zero(void)" (?alloc_zero@big_int@Arageli@@AAEXXZ)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (__imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) в функции __catch$??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z$0
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: int __thiscall std::ios_base::width(int)" (__imp_?width@ios_base@std@@QAEHH@Z) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (__imp_?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: static int __cdecl std::char_traits<char>::eof(void)" (__imp_?eof@?$char_traits@D@std@@SAHXZ) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (__imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (__imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (__imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: int __thiscall std::ios_base::flags(void)const " (__imp_?flags@ios_base@std@@QBEHXZ) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: int __thiscall std::ios_base::width(void)const " (__imp_?width@ios_base@std@@QBEHXZ) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (__imp_?length@?$char_traits@D@std@@SAIPBD@Z) в функции "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (__imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::sentry(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (__imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::sentry(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: bool __thiscall std::ios_base::good(void)const " (__imp_?good@ios_base@std@@QBE_NXZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::sentry(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (__imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::~sentry(void)" (??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) bool __cdecl std::uncaught_exception(void)" (__imp_?uncaught_exception@std@@YA_NXZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::~sentry(void)" (??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (__imp_?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::_Sentry_base(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (__imp_?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) в функции "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::~_Sentry_base(void)" (??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ)
1>chislo.obj : error LNK2001: неразрешенный внешний символ "__fltused"
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ __ftol2_sse в функции "void __cdecl Arageli::`dynamic initializer for 'D_PREC_MAX''(void)" (??__ED_PREC_MAX@Arageli@@YAXXZ)
1>chislo.obj : error LNK2019: ссылка на неразрешенный внешний символ _log в функции _logl
1>LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
1>C:\Documents and Settings\TESTER\Мои документы\Visual Studio 2008\Projects\chislo\Debug\chislo.exe : fatal error LNK1120: 36 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\Documents and Settings\TESTER\Мои документы\Visual Studio 2008\Projects\chislo\chislo\Debug\BuildLog.htm"
1>chislo - ошибок 37, предупреждений 2
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
PS сейчас я специально перебилдил проект Arageli... все настройки проверил... всё тоже

Добавлено через 1 час 50 минут
я наверно не до конца описал свои шаги:

1. открыл pln arageli и создал либ.
2. перекинул этот либ в папку вижула вместе с хедерами и cpp
3. попытался сбиллдить пример с algareli - ошибки .... может я не туда переместил файлы?
Doublecheck
Сообщений: n/a
28.06.2010, 03:14     реализация больших чисел #7
(Если это ещё актуально)

А вы не пробывали обратиться к самим создателям библиотеки? -- там на www.arageli.org, откуда вы скачали исходники, на каждой странице внизу даётся адрес поддержки. Может помогут: наверняка какая-нибудь мелочь упущена.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2010, 19:30     реализация больших чисел
Еще ссылки по теме:

Деление больших чисел C++
C++ Вводится последовательность из N вещественных чисел. Определить наименьшее число, среди чисел больших 20
Вывод больших чисел C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
rtr
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 34
28.06.2010, 19:30  [ТС]     реализация больших чисел #8
Цитата Сообщение от Doublecheck Посмотреть сообщение
(Если это ещё актуально)

А вы не пробывали обратиться к самим создателям библиотеки? -- там на www.arageli.org, откуда вы скачали исходники, на каждой странице внизу даётся адрес поддержки. Может помогут: наверняка какая-нибудь мелочь упущена.
Я плюнул на эту библиотеку и сделал все в mpir
Yandex
Объявления
28.06.2010, 19:30     реализация больших чисел
Ответ Создать тему
Опции темы

Текущее время: 21:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru