Σελίδα 1 από 1
Eντολή compile
Δημοσιεύτηκε: Παρ Μαρ 25, 2011 5:32 pm
από jimDim
C: gcc -std=c99 -O2 -DCONTEST -s -static -lm
Ξέρει κανείς τι ακριβώς είναι το "-Ο2" ή το "-DCONTEST" ή ακόμη "-s -static -Im".
Δεν πιστεύω να δημιουργηθεί πρόβλημα με αυτές τισ ρυθμίσεις,ούτε να χρειαστεί κάτι ιδιαίτερο, έτσι. Απλώς τις παραβλέπω, σωστά ??
Re: Eντολή compile
Δημοσιεύτηκε: Σάβ Μαρ 26, 2011 3:21 am
από thetrojan01
-std=c99: "compiler, χρησιμοποίησε σε παρακαλώ το πρότυπο C99..."
-O2: "κάνε βελτιστοποιήσεις όσον αφορά τον χρόνο εκτέλεσης, έλα, ξέρω ότι μπορείς!"
-DCONTEST: "αυτό το παναθεματισμένο το δελφινάκι θέλει να έχω κάνει #define το CONTEST... κάνε το εσύ για μένα please..."
-static:
-static
The HP-UX implementation of setlocale in libc has a dependency on
libdld.sl. There isn't an archive version of libdld.sl. Thus,
when the -static option is specified, special link options are
needed to resolve this dependency.
On HP-UX 10 and later, the GCC driver adds the necessary options to
link with libdld.sl when the -static option is specified. This
causes the resulting binary to be dynamic. On the 64-bit port, the
linkers generate dynamic binaries by default in any case. The
-nolibdld option can be used to prevent the GCC driver from adding
these link options.
-lm: link with the math.h library...
-s: stripάρει το εκτελέσιμο, that is, it removes the symbol table and relocation information from the executable
Με λίγα λόγια: Απολύτως τίποτα που να σε απασχολεί ιδιαίτερα.
Re: Eντολή compile
Δημοσιεύτηκε: Σάβ Μαρ 26, 2011 4:29 pm
από feedWARd
Το -DCONTEST απλά ορίζει την μεταβλητή CONTEST. Έτσι μπορείς να κάνεις πράγματα όπως αυτό:
Κώδικας: Επιλογή όλων
#ifndef CONTEST
prinf("%d\n", N);
#else
fprintf(out, "%d\n", N);
#endif
Έτσι, όταν τρέχεις το πρόγραμμα τοπικά (χωρίς το -DCONTEST) να εμφανίζει την έξοδο στο stdout, ενώ στον server του grader θα γράφει κανονικά στο αρχείο. Αυτά τα #if επιλύονται από τον preprocessor πριν από το compilation, οπότε δεν επηρρεάζουν τον χρόνο εκτέλεσης.
To -lm επιτρέπει την χρήση της math.h αν χρειαστεί.
jimDim έγραψε:Δεν πιστεύω να δημιουργηθεί πρόβλημα με αυτές τισ ρυθμίσεις,ούτε να χρειαστεί κάτι ιδιαίτερο, έτσι. Απλώς τις παραβλέπω, σωστά ??
Δεν πρόκειται να δημιουργηθεί κανένα πρόβλημα, μην αγχώνεσαι. Αν κάνει compile τοπικά, θα κάνει και όταν το στείλεις στον grader.