C: gcc -std=c99 -O2 -DCONTEST -s -static -lm
Ξέρει κανείς τι ακριβώς είναι το "-Ο2" ή το "-DCONTEST" ή ακόμη "-s -static -Im".
Δεν πιστεύω να δημιουργηθεί πρόβλημα με αυτές τισ ρυθμίσεις,ούτε να χρειαστεί κάτι ιδιαίτερο, έτσι. Απλώς τις παραβλέπω, σωστά ??
Eντολή compile
-
- Δημοσιεύσεις: 712
- Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Re: Eντολή compile
-std=c99: "compiler, χρησιμοποίησε σε παρακαλώ το πρότυπο C99..."
-O2: "κάνε βελτιστοποιήσεις όσον αφορά τον χρόνο εκτέλεσης, έλα, ξέρω ότι μπορείς!"
-DCONTEST: "αυτό το παναθεματισμένο το δελφινάκι θέλει να έχω κάνει #define το CONTEST... κάνε το εσύ για μένα please..."
-static:
-s: stripάρει το εκτελέσιμο, that is, it removes the symbol table and relocation information from the executable
Με λίγα λόγια: Απολύτως τίποτα που να σε απασχολεί ιδιαίτερα.
-O2: "κάνε βελτιστοποιήσεις όσον αφορά τον χρόνο εκτέλεσης, έλα, ξέρω ότι μπορείς!"
-DCONTEST: "αυτό το παναθεματισμένο το δελφινάκι θέλει να έχω κάνει #define το CONTEST... κάνε το εσύ για μένα please..."
-static:
-lm: link with the math.h library...-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.
-s: stripάρει το εκτελέσιμο, that is, it removes the symbol table and relocation information from the executable
Με λίγα λόγια: Απολύτως τίποτα που να σε απασχολεί ιδιαίτερα.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.
Re: Eντολή compile
Το -DCONTEST απλά ορίζει την μεταβλητή CONTEST. Έτσι μπορείς να κάνεις πράγματα όπως αυτό:
Έτσι, όταν τρέχεις το πρόγραμμα τοπικά (χωρίς το -DCONTEST) να εμφανίζει την έξοδο στο stdout, ενώ στον server του grader θα γράφει κανονικά στο αρχείο. Αυτά τα #if επιλύονται από τον preprocessor πριν από το compilation, οπότε δεν επηρρεάζουν τον χρόνο εκτέλεσης.
To -lm επιτρέπει την χρήση της math.h αν χρειαστεί.
Κώδικας: Επιλογή όλων
#ifndef CONTEST
prinf("%d\n", N);
#else
fprintf(out, "%d\n", N);
#endif
To -lm επιτρέπει την χρήση της math.h αν χρειαστεί.
Δεν πρόκειται να δημιουργηθεί κανένα πρόβλημα, μην αγχώνεσαι. Αν κάνει compile τοπικά, θα κάνει και όταν το στείλεις στον grader.jimDim έγραψε:Δεν πιστεύω να δημιουργηθεί πρόβλημα με αυτές τισ ρυθμίσεις,ούτε να χρειαστεί κάτι ιδιαίτερο, έτσι. Απλώς τις παραβλέπω, σωστά ??