[Advcomparch] Compilation των real εκδόσεων - εργασία 3

Dimitrios Siakavaras jimsiak at cslab.ece.ntua.gr
Thu Jul 9 19:41:31 EEST 2015


Καλησπέρα,

Για την μεταγλώττιση σε πραγματικό μηχάνημα δίνετε την εντολή που υπάρχει
και στην εκφώνηση:

gcc locks_scalability.c -O0 -Wall -o locks.tas -DTAS_TS -DREAL -lpthread

Στην εκφώνηση από λάθος έχουμε παραλείψει το 'locks_scalability.c' αλλά η
παραπάνω εντολή πρέπει να κάνει τη δουλειά της.

>
> Καλησπέρα,
>
> Προσπαθώ να κάνω compile τις real εκδόσεις απ'ευθείας (χωρίς Makefile)
> σύμφωνα με τις οδηγίες της εκφώνησης. Μετά από διάφορες δοκιμές εκτέλεσα
> την εντολή:
>
> gcc -c locks_scalability.c -O0 -Wall -o lockstas_ts_real -DTAS_TS -DREAL
> -lpthread
>

Το πρόβλημα με την εντολή που δίνεις είναι το flag -c. Αντιγράφω από την
manpage του gcc:

"-c  Compile or assemble the source files, but do not link.  The linking
           stage simply is not done.  The ultimate output is in the form
           of an object file for each source file."

Άρα με αυτό το flag η έξοδος είναι ένα object file (όποιος έχει πάρει
Λειτουργικά Συστήματα 7ου εξαμήνου τα θυμάται) και όχι εκτελέσιμο αρχείο.

> Το compilation ολοκληρώνεται χωρίς κανένα μήνυμα και το binary που
> παράγεται δεν έχει δικαιώματα εκτέλεσης (είναι -rw-rw-r--). Μετά από
> "chmod +x lockstas_ts_real" η εκτέλεση "./locstas_ts_real" επιστέφει
> μήνυμα:
>
> -bash: ./lockstas_ts_real: cannot execute binary file
>
> προφανώς κάτι δεν πιάνω...
>
> Σημείωση: εργάζομαι στον ωκεανό, όχι στο τοπικό μου μηχάνημα.
>
> Ευχαριστώ εκ των προτέρων για όποια διευκρίνιση,
> Ορφέας
>
>  		 	   		  _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>

Καλή συνέχεια,
Δημήτρης



More information about the Advcomparch mailing list