Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / evaluarea pe gcc : Decembrie 11, 2004, 12:41:16
Aceeasi problema am avut si eu dar s-a rezolvat.
Era inclus "-lm" dar nu unde trebuie.

Numai bine,
Eugen Neamtiu.
2  Comunitate - feedback, proiecte si distractie / Arhiva / sincope evaluator ... : Decembrie 10, 2004, 02:07:14
[ştiu, am promis - dar cred că asta e rezolvarea la problemă:]

Citat
The ordering of libraries on the command line follows the same convection as for object files: they are searched from left to right--a library containing the definition of a function should appear after any source files or object files which use it. This includes libraries specified with the short-cut -l option, as shown in the following command:

$ gcc -Wall calc.c -lm -o calc   (correct order)


Deci ar trebui să puneţi "-lm" după numele fişierului sursă.

Numai bine,
Eugen Neamţiu.
3  Comunitate - feedback, proiecte si distractie / Arhiva / sincope evaluator ... : Decembrie 10, 2004, 01:22:33
[ăsta e ultimu post pe această temă - promit!  Smile ]

Ceva nu este în regulă ...

Dacă ce scrie aci e corect:
Citat

The problem is that the reference to the sqrt function cannot be resolved without the external math library 'libm.a'. The function sqrt is not defined in the program or the default library 'libc.a', and the compiler does not link to the file 'libm.a' unless it is explicitly selected.  [...]

To enable the compiler to link the sqrt function to the main program 'calc.c' we need to supply the library 'libm.a'. One obvious but cumbersome way to do this is to specify it explicitly on the command line:

$ gcc -Wall calc.c /usr/lib/libm.a -o calc

The library 'libm.a' contains object files for all the mathematical functions, such as sin, cos, exp, log and sqrt.  [...]

To avoid the need to specify long paths on the command line, the compiler provides a short-cut option '-l' for linking against libraries. For example, the following command,

$ gcc -Wall calc.c -lm -o calc

is equivalent to the original command above using the full library name '/usr/lib/libm.a'.

Textul complet e la www.network-theory.co.uk/...

şi dacă ce zici tu e tot corect:
Citat
gcc -lm -Wall --static -o <sursa> <sursa>.<extensie>


atunci opţiunea "-lm" ar trebui să aibă ca efect tocmai legarea bibliotecii matematice şi deci oferirea posibilităţii de a folosi orice funcţie matematică - inclusiv sqrt.

La ONI , teoretic vorbind, ai acces la compilator şi poţi să incluzi manual opţiunea respectivă dacă nu este.

luuung post, ştiu, da' asta e ... Smile

Numai bine,
Eugen Neamţiu.
4  Comunitate - feedback, proiecte si distractie / Arhiva / sincope evaluator ... : Decembrie 09, 2004, 19:34:05
Hmm.

Deci daca folosesc C (ma rog, the "ANSI/ISO C standard") nu mai am acces la nici o functie matematica din math.h (?!?).

E absurd. Mai ales daca se intampla si la ONI - cum spune wickedman. Cred ca ar trebui relaxate putin optiunile de compilare.

Si daca tot vorbim de ele mi-ar place sa le faceti publice undeva (eventual la "Regulament") ca sa ne putem "regla" compilatoarele sa se comporte la fel ca al vostru (vorbesc de optiunile de compilare folosite de evaluator pentru toate cele trei compilatoare).

Mai multe informatii despre acest subiect (si o eventuala rezolvare) am gasit aici.
5  Comunitate - feedback, proiecte si distractie / Arhiva / sincope evaluator ... : Decembrie 08, 2004, 17:40:54
jobID 17956 utilizator eneamtiu
concurs Arhiva de probleme
problema Datorii
compilator Gnu C timp 2004-12-08 17:22:36

raport evaluator

/tmp/ccITCJlr.o(.text+0x58): In function `main':
: undefined reference to `sqrt'
collect2: ld returned 1 exit status

 Question

Am primit mesajul de mai sus pentru sursa:

//test
#include <math.h>
#include <stdio.h>

int main(void)
{
   freopen("datorii.out","w",stdout);

   printf("%f",sqrt(20));

   return 0;
}

Pe sistemul meu, copilata cu gcc 3.3.1 (Dev-C++), nu are nici o problema.

Noah ... se pare ca nu e disponibil math.h ... sau e vreo greseala pe care nu o vad eu?

Numai bine,
Eugen Neamtiu.
6  Comunitate - feedback, proiecte si distractie / Arhiva / sincope evaluator ... : Decembrie 07, 2004, 13:48:03
Exista vre-un motiv (lamuritor) pe care nu-l stim noi pentru a explica intreruperile astea in functionarea evaluatorului?

Nu mai merge de trei zile ...  Sad

Parca era vorba ca-i "online 24/24"  Tongue

Nu e o critica, e o intrebare (vreau doar sa stiu ce se intampla).

Numai bine,
Eugen Neamtiu.
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 004 Biti : Noiembrie 18, 2004, 18:34:38
Asa la intuitie: dupa cate vad incerci sa folosesti backtracking (recursiv?).

Noah, dupa anumit numar de apeluri recursive (cica k=318297?) stiva se umple (ca n-are decat 1 mega) si noul apel recursiv incearca sa se aloce in continuare cum ar veni, ocupand o zona de memorie care nu este a lui.

Si de acolo SEGMENTATION FAULT.

Parerea mea,  wink
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines