• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 22, 2026, 17:43:45 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 22, 2026, 17:43:45 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Δομημένος Προγραμματισμό...
by Lalson
[Today at 13:58:02]

[Η/Μ Πεδίο ΙΙ] Γενικές απ...
by el mariachi
[Today at 13:49:46]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[Today at 12:15:31]

Αποτελέσματα Εξεταστικής ...
by chatzikys
[Today at 11:59:21]

[Δ.Υ.Σ.] Γενικές απορίες ...
by Nekt
[Today at 11:47:27]

[Συστήματα Μετρήσεων] Γεν...
by rigas_s
[Today at 11:25:27]

Πότε θα βγει το μάθημα; -...
by Juror8
[June 21, 2026, 13:30:45 pm]

[Αριθμητική Ανάλυση] Γενι...
by Petross
[June 21, 2026, 12:15:38 pm]

Των συνειρμών το παίγνιο....
by χηρουλα Αλεξίου
[June 21, 2026, 01:07:36 am]

[Διανεμημένη Παραγωγή] Γε...
by george14
[June 19, 2026, 23:19:07 pm]

[Ηλεκτρονική ΙΙ] Γενικές ...
by nmpampal
[June 18, 2026, 07:37:37 am]

[Οργάνωση Υπολογιστών] Γε...
by Lalson
[June 17, 2026, 10:37:39 am]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 16, 2026, 23:48:23 pm]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[June 16, 2026, 15:31:13 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[June 16, 2026, 11:11:17 am]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]
Στατιστικά
Members
Total Members: 10404
Latest: OzB
Stats
Total Posts: 1431502
Total Topics: 32024
Online Today: 2799
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 70
Guests: 737
Total: 807
sofaki
Zaxarenia
sinex
DimokratisNt
ThanosKoutsoump
George_RT
azarkad
Manos_5
payniac
panagiotisv
chris123
JoHn!
Λέσχη Επιστημόνων
Giorgosap
Saint_GR
nataliakara
andrkott
yakinthos
kav-liaris
leolam
athinakal
asantor
dimopana
Giorgos2222
Giannis Masterio
Ganastop
christina02
antrikos
Stelioskyr
aggp
κοτζακ
aachmet
plapas
fatseas
The Web
pdiamantis
Tzikaman
Mr Z
Angelagfb
nicolemag
tfarmaka
μιλτοςμ
stefpapa21
Papalamprous humor
Kyriacos
stavr0s16
sotkara
hacky
marinaanastasiou
Lalson
Roidos
DK06
kvas
jimalexoud
johnny_ece
apob
gbes
kpapadoaa
Anasalex
brill
LelisNiko
mavrhs
vag3
Stathis Ioannidis
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > C / C++ / C# (Moderators: chatzikys, PolarBear) > Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] Go Down Print
Author Topic: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο  (Read 4213 times)
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Re: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
« Reply #15 on: August 23, 2012, 18:43:37 pm »

πιθανώς να είναι εκεί το πρόβλημα, δεν ξέρω, αυτό ψάχνω.
ο κορμος του κώδικα πάντως είναι ο ίδιος.
η διαφορά στην ταχύτητα είναι τεραστια. 100Χ

κάτι περίεργο επίσης είναι ότι όταν το τρέχω με το eclipse το οποιο από πισω κάνει cmake γίνεται compile κανονικά.
Όταν το ίδιο ακριβωώς folder με τα sources το τρέξω με "g++ mainClass.cpp" χτυπάει 1.200 undefined class/function κτλ. αυτό έχει να κάνει με το διαφορετικό τρόπο παραγωγής του εκτελέσιμου της cmake?
Logged

http://www.mozilla.org/en-US/firefox/new/
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
« Reply #16 on: August 23, 2012, 19:11:12 pm »

Άν τρέξεις me g++ από command-line πρέπει να δώσεις arguments για το που να βρει τον υπόλοιπο κώδικα και τις βιβλιοθήκες ώστε να κάνει compile αρχικά τον κώδικα και linking έπειτα. Δες μέσα στο makefile.
« Last Edit: August 23, 2012, 19:13:29 pm by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
Re: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
« Reply #17 on: August 23, 2012, 21:45:58 pm »

Quote from: fugiFOX on August 23, 2012, 18:43:37 pm
πιθανώς να είναι εκεί το πρόβλημα, δεν ξέρω, αυτό ψάχνω.
ο κορμος του κώδικα πάντως είναι ο ίδιος.
η διαφορά στην ταχύτητα είναι τεραστια. 100Χ

κάτι περίεργο επίσης είναι ότι όταν το τρέχω με το eclipse το οποιο από πισω κάνει cmake γίνεται compile κανονικά.
Όταν το ίδιο ακριβωώς folder με τα sources το τρέξω με "g++ mainClass.cpp" χτυπάει 1.200 undefined class/function κτλ. αυτό έχει να κάνει με το διαφορετικό τρόπο παραγωγής του εκτελέσιμου της cmake?


Καλό είναι να διαβάσετε για makefiles γενικά ώστε να καταλάβετε τι παίζει.

http://www.gnu.org/software/make/manual/html_node/index.html

Το cmake, όπως και το automake/autoconf είναι απλά build systems που προσπαθούν να μαντέψουν το σύστημα του χρήστη και να δημιουργήσουν τα κατάλληλα makefiles. Αν όμως σκοπεύετε να έχετε μόνο σε development το source code και δε σκοπεύετε να τον κάνετε release, τότε δε χρειάζετε να μπείτε σε τόση διαδικασία. Εγώ γενικά σε τέτοιες περιπτώσεις προτιμώ αν χρησιμοποιώ καθαρά makefiles που έχω γράψει ο ίδιος.
Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Re: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
« Reply #18 on: October 09, 2012, 11:10:47 am »

Έχοντας εντοπίσει το πρόβλημα, το γράφω για μελλοντική ανάγνωση.


Quote from: fugiFOX on August 23, 2012, 18:43:37 pm
ο κορμος του κώδικα πάντως είναι ο ίδιος.
η διαφορά στην ταχύτητα είναι τεραστια. 100Χ

κάτι περίεργο επίσης είναι ότι όταν το τρέχω με το eclipse το οποιο από πισω κάνει cmake γίνεται compile κανονικά.
το πρόβλημα έγκειται στο IDE που χρησιμοποιώ, συγκεκριμένα το eclipse,
αλλά φαντάζομαι και τα υπόλοιπα το ίδιο θα κάνουν,
και ειδικότερα στο makefile που παράγει αυτόματα.

Παρότι, λοιπόν έχω βάλει στις επιλογές: optimizations "-O3"
 το eclipse εισάγει αυτόν τον διακόπτη μόνο στο τελευταίο στάδιο του makefile.
Έφτιαξα 1 δικό μου makefile, όπως πρότεινε ο ΒΟΒ, και πέρασα το διακόπτη -O3
σε όλα τα στάδια (δλδ σε κάθε file.o: file.cpp
   g++ -c -O3  file.cpp)

και πλέον πάει σφαιράτο.

Quote from: BOBoMASTORAS on August 23, 2012, 17:11:40 pm
Αν είναι έτσι τότε λογικό να τρέχει πιο αργά. Η C++ είναι πιο αργή από τη C.
αυτό μήπως τελικά είναι μύθος;
Ψάχνοντας στο net, δεν βρήκα κάποιο benchmark που να αποδεικνύει ουσιώδη διαφορά στην απόδοση. Γενικά εάν χρησιμοποιείς STL όπου μπορείς και δεν κάνεις κάτι extreme, μάλλον οι διαφορές στο χρόνο εκτέλεσης είανι ασήμαντες
Logged

http://www.mozilla.org/en-US/firefox/new/
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
Re: Ενσωμάτωση όλων των βιβλιοθηκών στο εκτελέσιμο
« Reply #19 on: October 09, 2012, 14:43:43 pm »

δεν είναι μύθος... η C++ είναι πιο αργή από τη C στο λέω εκ πείρας διδακτορικού. Όχι λόγω παράπλευρου συμπεράσματος, αλλά λόγω optimization που έγιναν με αυτό το σκεπτικό. Αν δοκιμάσεις να γράψεις τον κώδικα σε C θα δεις διαφορά, το πόσο σημαντική βέβαια εξαρτάται από την εφαρμογή.

Το θέμα είναι ότι μπορεί μεν η C να είναι πιο γρήγορα, αλλά δεν είναι τόσο εύκολα διαχειρίσημη σε μεγάλα project, οπότε μπορείς να βρεις το bottleneck και να γράψεις C μόνο εκεί.

Επίσης τεράστιο πρόβλημα στη C είναι η μη ύπαρξη containers. Παρόλα αυτά υπάρχουν διάφορες έξυπνες υλοποιήσεις που είναι ταχύτατες. Προσωπικά επειδή στη C καταφεύγω για λόγους ταχύτητας έχω γράψει κάποιους δικούς μου (πχ cvector) με χρήση #defines. Η υλοποίηση γίνεται inline στον κώδικα και πάει πραγματικά σφαίρα. Η assembly που προκείπτει από τις κλήσεις είναι minimal

Υ.γ. Δοκίμασε με flags -O6 -fomit-frame-pointer  -Wall

με το -O6 θα δεις κάποια διαφορά. Με το omit frame pointer η διαφορά είναι μικρή. Το -Wall είναι για να βλέπεις όλα τα warnings και δεν έχει να κάνει με την ταχύτητα.
« Last Edit: October 09, 2012, 14:50:07 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Pages: 1 [2] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...