En oplagt mulighed er GMP biblioteket som: - både kan bruges fra C og C++ - skulle performe godt
Hvis du arbejder på Linux skulle den være lige til at hente og bruge.
Arbejder du på Windows er det lidt mere tricky. Mit forslag er at du så bruger cygwin GCC som compiler - den kommer med GMP. Med en anden compiler kan du komme til at arbejde lidt på at få GMP bygget.
GMP har jeg prøvet at hente, men det virker ikke til lige at gå til, måske fordi jeg bruger windows. Jeg er i hvert fald ikke lige klar over hvordan jeg skal gribe det an. Jeg fandt et andet bibliotek, ttmath, som man bare kunne hente ind, men det kunne kun tage 20 pladser. Findes der andre som kan tage flere, men ligeså nemme at få til at virke?
Hvis du er skrap Linux bruger saa abbner du den bash prompt du har faaet et ikon til.
Hvis du er en helt normal Windows bruger saa: - aabner du en almindelig kommandoprompt - tilfoejer C:\cygwin\bin (eller hvor du nu har installeret) til PATH - commpiled med:
Jeg er ikke skrap linuxbruger så det bliver windowsmetoden. Tilføj til path? Er det samme sted som f.eks. Java\jdk1.6.0_12\bin også er, hvor jeg så bare tilføjer det efter det? Og så skal jeg lige have den sidste linje igen. Skal jeg skrive alt det for at compile en fil?
Nu vil den ikke godkende g++ som en kommando. Så jeg har gjort noget forkert, men hvad det er bøvler jeg med lige nu. Jeg har lagt C:\cygwin\bin i miljøvariabler/path. Måske dette ikke er det rigtige sted. Jeg kan heller ikke se g++ i mappen bin, så måske jeg slet ikke har fået installeret g++?
Når jeg prøver at compilerer den kode du tidligere har foreslået, kommer den med denne følgende fejlmeddelelse:
C:\Users\"navn"\Desktop\c++>g++ test.cpp -lgmp -lgmpxx -o test.exe test.cpp:5:17: gmp.h: No such file or directory test.cpp:6:19: gmpxx.h: No such file or directory test.cpp:8: error: `mpf_class' does not name a type test.cpp: In function `int main()': test.cpp:20: error: `mpf_class' undeclared (first use this function) test.cpp:20: error: (Each undeclared identifier is reported only once for each f unction it appears in.) test.cpp:20: error: expected `;' before "two" test.cpp:21: error: `two' undeclared (first use this function)
Noget kunne tyde på at gmp ikke er blevet installeret og det selvom, når jeg er i vinduet, hvor man kan vælge hvad der skal installeres, så står den som installeret. Nogle forslag til hvad jeg kan gøre?
Nej desværre, det hjalp ikke. Det virker som om den ikke vil have både gmp og g++ installeret samtidig, fordi hver gang jeg installerer den ene og så starter setup igen, for at installere gmp, så virker g++ lige pludselig ikke mere og lige omvendt jeg prøver at installere g++.
Efter mange forsøg med cygwin og efter at have prøvet at følge en guide til et andet program, som også skulle få gmp til at virke, fandt jeg denne hjemmeside og hentede simpelthen de filer jeg skulle bruge derfra. Jeg tror da i hvert fald det virker nu, koden fra før bliver compilet. Jeg har ikke helt gennemskuet hvad programmet gør? Og så skal du lige huske at lægge et svar også arne.
Jo nu lurede jeg alligevel hvad programmet gør, men desvæære så skriver den ikke svaret med alle cifrer, men 2^500 udkommer som 3.27339e+150, men jeg ville gerne have haft alle cifrer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.