• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 16, 2025, 22:34:10 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 16, 2025, 22:34:10 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[Today at 19:49:00]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[Today at 16:56:56]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[Today at 15:55:08]

[Αρχές Οικονομίας] Να επι...
by _Trob
[Today at 13:28:21]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[Today at 12:13:45]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[Today at 12:01:53]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[Today at 10:22:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:56:37]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 15, 2025, 20:08:49 pm]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]

[Δυναμική Συμπεριφορά ΣΗΕ...
by soko_freta
[June 13, 2025, 01:05:36 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426676
Total Topics: 31711
Online Today: 226
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 60
Guests: 103
Total: 163
engineer2030
stefpapa21
Maximos7
KZerenidis
fivosfivos1
thathas12
AA RE LEWN
Kwst@ss_
Fotis
dimitrisadamou
George_RT
Giopan
angelos
ඞ
asantor
jojos
mpizos
stolieras
mett
chaniotism
Athinaaz
georsoti
Ntinomanolo123
glavdakis
Lemonia
Zougas
gntitsios
Nikos_313
elischat
swkraths
andreassifo
thanaf_231
difis
mmikelo
kouf
Leftor
despoina15
kokkinosgior
AcDimitri
xarisvougiou
ΚΟ
tzesi
Mr Watson
jimalexoud
cpapast
dinoschalv
andyy
Joannapet
kpa
Nicotre
filkilkis
Konstantina Karamani
Giannis_Kako
Zoifouka
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το 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 2972 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...